[問題] function的範圍

看板Ajax作者時間14年前 (2011/12/12 14:58), 編輯推噓1(102)
留言3則, 1人參與, 最新討論串1/1
我最近在用Galleria http://galleria.aino.se/ 在套它的API 的時候 我參考它的API裡的extend $(function(){ $('#gallery').galleria({ extend: function(options) { var gallery = this; setTimeout('refresh()',30000,[gallery]); } }); }); 我在extend 裡面用了setTimeout setTimeout('refresh()',30000,[gallery]); 然後我把refresh 這個function 寫在$(function(){});外面 問題是 我的refresh裡面有用到另外一個我另外寫的 max(obj); 的function function refresh( gallery) { max($('.orders'),'value')); } 這個function 也是寫在$(function(){});外面 問題來了,我用firebug發現它會有max is not a function 的錯誤 可是 我把setTimeout('refresh()',30000,[gallery]); 直接寫在 $(function(){ setTimeout('refresh()',30000,[gallery]); }); 卻是正常,請問js的function的範圍到底是怎麼判斷的阿 謝謝回答 -- ◣◢◢═════════════════════════╗ 愛洨堂 《給你爽˙洨丸》 洨丸真正好 補完不會少 ◤◤◥ gelisiau siauwan 洨丸呷到飽 暴走跑不了 ║ ║ 專治亂入死小孩:洨朋友對號入座、自爽、過激、戀童、告官、暴走、 無腦亂入、病床邊亂開槍等症狀,廿六服立即見效。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.126.209.219

12/12 15:01, , 1F
跟變數一樣 不用var的模式範圍全都是global 會相衝
12/12 15:01, 1F

12/12 15:01, , 2F
應該用var max=function(){.....}這種方式
12/12 15:01, 2F

12/12 15:02, , 3F
記得要用在裡面
12/12 15:02, 3F
文章代碼(AID): #1EvQO5Ds (Ajax)
文章代碼(AID): #1EvQO5Ds (Ajax)