同時通過舊的代碼庫去我發現那裏的以前的軟件開發人員正在使用jQuery Ready和jQuery之間的區別準備速寫帶參數?
$(function(a) {}(A || (A = {})));
的地方。它在我刪除了傳遞的全局變量後開始工作。代碼第一次做錯了嗎?
最終的解決方案:
$(function() {});
同時通過舊的代碼庫去我發現那裏的以前的軟件開發人員正在使用jQuery Ready和jQuery之間的區別準備速寫帶參數?
$(function(a) {}(A || (A = {})));
的地方。它在我刪除了傳遞的全局變量後開始工作。代碼第一次做錯了嗎?
最終的解決方案:
$(function() {});
基本上發生的事情在第一個版本是你執行的功能,通過它的返回值進入上準備速記。
這真的取決於函數體中發生了什麼,告訴你它是否「正確」。
是的,它是不正確的。
由於括號(A || (A = {}))
給予jQuery的函數立即執行。因此,當頁面加載時,jQuery甚至沒有函數調用,而是函數的返回值。
你改正它的方式你給jQuery一個函數,你讓jQuery在頁面準備好的時候執行它。
有沒有一種方法可以證明它? – Mohammed
@Mohammed如果內部函數返回一個函數,那麼它是合法的。否則,你的就緒功能是無用的。如果它返回一個函數,那麼該函數將在jquerys ready事件中執行。 – Brian