1,(1)大多數情況下,jquery代碼的編寫,都要求我們將jquery的代碼放在
$(document).ready(function(){
........jquery代碼...........
});
它的縮寫代碼是:
$(function(){
........jquery代碼...........
});
他的執行時間是:在網頁中所有DOM結構繪制完畢后就執行。
可以簡寫成:$(function (){ });
(2)window.onload方法是在網頁中的所有的元素(包括元素的所有關聯文件)都完全加載到瀏覽器之后才執行。而通過jQuery中的$(document).ready()方法注冊的事件處理程序,只要在DOM完全就緒時,就可以調用了,比如一張圖片只要<img>標簽完成,不用等這個圖片加載完成,就可以設置圖片的寬高的屬性或樣式等。
(3)$(document).ready()方法可以多次使用而注冊不同的事件處理程序,而window.onload一次只能保存對一個函數的引用,多次綁定函數只會覆蓋前面的函數.
就是一個window.onload只能執行一個函數。
2,再來看一個縮寫:
(1)(function ($) {})(jQuery)
其實際上是執行()(para)匿名方法,只不過是傳遞了jQuery對象。
用於存放開發插件的代碼,執行其中代碼時DOM不一定存在,所以直接自動執行DOM操作的代碼請小心使用。
這 里實際上是匿名函數 function(arg){...} 這就定義了一個匿名函數,參數為arg 而調用函數時,是在函數后面寫上括號和實參的,由於操作符的優先級,函數本身也需要用括號,即: (function(arg){...})(param) 這就相當於定義了一個參數為arg的匿名函數,並且將param作為參數來調用這個匿名函數 而(function($){...})(jQuery)則是一樣的,之所以只在形參使用$,是為了不與其他庫沖突,所以實參用jQuery var fn = function($){....}; fn(jQuery);
參見:http://www.cnblogs.com/swjm119/archive/2011/12/19/2293125.html