3 回答

TA貢獻1995條經驗 獲得超2個贊
當DOM(Document對象模型)準備好執行JavaScript代碼時,將執行以下代碼。
$(document).ready(function(){
// Write code here
});
以上代碼的簡寫是:
$(function(){
// write code here
});
下面顯示的代碼是一個自我調用的匿名JavaScript函數,一旦瀏覽器解釋它就會執行:
(function(){
//write code here
})(); // It is the parenthesis here that call the function.
下面顯示的jQuery自調用函數將全局jQuery對象作為參數傳遞給function($)。這使得$可以在自調用函數中本地使用,而無需遍歷定義的全局范圍。jQuery不是唯一可以使用的庫$,因此可以減少潛在的命名沖突。
(function($){
//some code
})(jQuery);

TA貢獻1797條經驗 獲得超6個贊
$(document).ready(function(){ ... });
或短$(function(){...});
當這個函數被調用時
DOM is ready
,你可以開始查詢元素。.ready()
將在不同的瀏覽器上使用不同的方式來確保DOM真的準備就緒。(function(){ ... })();
這只不過是一個在瀏覽器解釋時盡快調用自身的函數
ecma-/javascript
。因此,你不太可能成功地在DOM elements
這里采取行動。

TA貢獻1155條經驗 獲得超0個贊
$(document).ready(function() { ... });
簡單地將該函數綁定到ready
文檔的事件,因此,正如您所說,當文檔加載時,事件會觸發。(function($) { ... })(jQuery);
實際上是Javascript的構造,并且所有代碼片段都將jQuery
對象function($)
作為參數傳遞并運行函數,因此在該函數內部$
始終引用該jQuery
對象。這有助于解決命名空間沖突等問題。
因此,#1在文檔加載時執行,而#2立即運行,jQuery
對象名為$
shorthand。
添加回答
舉報