jQuery中的read和JavaScript中的onload函數的區別在哪

在JavaScript中,onload函數是最經常使用的,幾乎涉及到JavaScript的童鞋都少不了要接觸它。這個函數的作用就是等待網頁完全裝載完了以後再去執行代碼塊內的語句,因爲按照文檔流的執行順序,通常用於頭部加載JavaScript的`時候需要用到

jQuery中的read和JavaScript中的onload函數的區別在哪

複製代碼 代碼如下:

ad = function(){

// 當網頁加載完成後執行這裏的代碼塊

};

而在jQuery中也有一個對應的函數,即等待網頁加載完後執行代碼塊

複製代碼 代碼如下:

$(document)y(function(){

// 當網頁加載完成後執行這裏的代碼塊

});

以上這兩個看似一樣的功能,但實際有很大的區別。

onload不僅在創建DOM樹之後,而且在所有外部資源全部加載完畢,並且整個頁面在瀏覽器窗口中顯示完畢之後,纔會執行。這些資源不僅包括圖片資源,而且包括嵌入在頁面上的flash視頻,如果圖片或者flash過多,那麼會一段很長加載時間,也就意味這延遲執行代碼塊的時間會更多。

jQuery中的ready()方法只需要等待文檔結構被完全解析並且瀏覽器已經把HTML轉化爲DOM樹後就會執行代碼塊,這裏注意的是僅僅是DOM,網頁中的圖片,flash等外部資源都毫無關聯。

由此可見jQuery中的ready()方法將縮短等待時間。

當然還有另外一種方式,就是把腳本都在標籤後面,這樣的話網頁按照文檔流順序執行,也會達到JavaScript中onload或者jQuery中ready()效果,並且這中方式將更快的展現網頁內容。