我試圖將 閉包內的一些現有頂層函數分組(以避免污染全局名稱空間),但我並不完全使用 來使其工作。首先,所有的JS在我的匿名函數之外工作,但是一旦我把 它放在匿名函數中,我會得到一個「交叉淡化不是 定義的錯誤」的錯誤。有沒有人看到任何完全明顯的東西,我 失蹤?Closure/scope JavaScript/jQuery
我不太越來越爲什麼在的setInterval /淡入淡出的作品外 匿名函數而不是內部。 start()中的任何內容應該能夠在start()之外看到變量/函數,並且它應該全部在頂層匿名函數創建的閉包中受保護 ? 我並不想交叉淡入淡出()內訪問任何,我只是 試圖執行它。
(function($) {
//vars up here that internal functions can access
//also using some jquery inside here, so using $
function crossfade() {
//body here
}
//other functions
function start() {
//body here
cInterval = setInterval('crossfade()', 5000);
}
})(jQuery);
非常感謝這對我有用。 – 2009-11-24 19:30:42