- 相關(guān)推薦
jQuery中的read和JavaScript中的onload函數(shù)的區(qū)別在哪
在JavaScript中,onload函數(shù)是最經(jīng)常使用的,幾乎涉及到JavaScript的童鞋都少不了要接觸它。這個函數(shù)的作用就是等待網(wǎng)頁完全裝載完了以后再去執(zhí)行代碼塊內(nèi)的語句,因為按照文檔流的執(zhí)行順序,通常用于頭部加載JavaScript的時候需要用到。
復(fù)制代碼 代碼如下:
window.onload = function(){
// 當(dāng)網(wǎng)頁加載完成后執(zhí)行這里的代碼塊
};
而在jQuery中也有一個對應(yīng)的函數(shù),即等待網(wǎng)頁加載完后執(zhí)行代碼塊
復(fù)制代碼 代碼如下:
$(document).ready(function(){
// 當(dāng)網(wǎng)頁加載完成后執(zhí)行這里的代碼塊
});
以上這兩個看似一樣的功能,但實際有很大的區(qū)別。
onload不僅在創(chuàng)建DOM樹之后,而且在所有外部資源全部加載完畢,并且整個頁面在瀏覽器窗口中顯示完畢之后,才會執(zhí)行。這些資源不僅包括圖片資源,而且包括嵌入在頁面上的flash視頻,如果圖片或者flash過多,那么會一段很長加載時間,也就意味這延遲執(zhí)行代碼塊的時間會更多。
jQuery中的ready()方法只需要等待文檔結(jié)構(gòu)被完全解析并且瀏覽器已經(jīng)把HTML轉(zhuǎn)化為DOM樹后就會執(zhí)行代碼塊,這里注意的是僅僅是DOM,網(wǎng)頁中的圖片,flash等外部資源都毫無關(guān)聯(lián)。
由此可見jQuery中的ready()方法將縮短等待時間。
當(dāng)然還有另外一種方式,就是把腳本都在標(biāo)簽后面,這樣的話網(wǎng)頁按照文檔流順序執(zhí)行,也會達到JavaScript中onload或者jQuery中ready()效果,并且這中方式將更快的展現(xiàn)網(wǎng)頁內(nèi)容。
【jQuery中的read和JavaScript中的onload函數(shù)的區(qū)別】相關(guān)文章:
淺析jQuery 遍歷函數(shù)javascript08-06
JavaScript中push(),join() 函數(shù)實例詳解09-05
jQuery中parent()和siblings()的問題10-16
Javascript函數(shù)的定義和用法分析08-15
jQuery中prev()方法用法07-16