我已經知道在這樣的功能包裝你的Javascript的優勢:傳遞函數到jQuery選擇
(function() {
// code goes here
}())
但我已經通過將包裝功能將看到一些腳本,這些腳本做到這一點jQuery對象:
$(function() {
// blah blah blah blah blah
});
這樣做的好處是什麼,還是隻是個人品味的問題?第二種方法是否否定$(document).ready()
?
我已經知道在這樣的功能包裝你的Javascript的優勢:傳遞函數到jQuery選擇
(function() {
// code goes here
}())
但我已經通過將包裝功能將看到一些腳本,這些腳本做到這一點jQuery對象:
$(function() {
// blah blah blah blah blah
});
這樣做的好處是什麼,還是隻是個人品味的問題?第二種方法是否否定$(document).ready()
?
第一個
(function() {
// code goes here
}())
That is self executing function.
而第二個功能是jquery
具體。
的。就緒()方法只能被稱爲一個jQuery對象匹配當前文檔上,因此可以省略選擇器。
$(document).ready(function() {
// Handler for .ready() called.
});
哪個是等效於調用::
的。就緒()方法通常與匿名函數使用
$(function() {
// Handler for .ready() called.
});
你的第一個例子就是標準的JavaScript執行功能的自我,第二個是jQuery的具體的,是更多信息的$(document).ready(function() {});
一個快捷方式,也this question自我執行功能
(function(){}())
是IIFE(立即調用的函數表達式)和只是一個立即執行的函數
$(function(){})
是瀏覽器準備就緒時的jQuery回調函數
我經常要jQuery的添加到對他們MooTools的網站,從而避免$衝突我做財產以後這樣的:
;(function($, app, undefined){
// code here
}(jQuery, myApp = window.myApp || {}))
這第一種是立即執行的函數,第二個是jQuery的語法在頁面加載時執行某些操作,是的,它代替了$(document).ready() – mplungjan
其次與$(document).ready()相同。閱讀文檔http://api.jquery.com/ready/ – elclanrs