實(shí)習(xí)第三十八天(window.onload與$(document).ready(function(){}))

在JavaScript中

window.onload = function(){ 
  alert(“text1”); 
}; 

等同于在jQuery

$(window).load(function(){
    alert("text1");
});

他們都是用于當(dāng)頁(yè)面的所有元素,包括外部引用文件,圖片等都加載完畢時(shí)運(yùn)行函數(shù)內(nèi)的alert函數(shù)。load方法只能執(zhí)行一次,如果在js文件里寫(xiě)了多個(gè),只能執(zhí)行最后一個(gè)。(初學(xué)者常常在頁(yè)面結(jié)構(gòu)里對(duì)元素直接寫(xiě)行為函數(shù),這樣是很丑陋的,可以用選擇器等,在js代碼里對(duì)元素進(jìn)行行為控制。)


在jQuery中

$(document).ready(function(){
    alert("text2");
});

等同于(簡(jiǎn)化寫(xiě)法)

$(function(){
    alert("text2");
});

他們都是用于當(dāng)頁(yè)面的標(biāo)準(zhǔn)DOM元素被解析成DOM樹(shù)后就執(zhí)行內(nèi)部alert函數(shù)。這個(gè)函數(shù)是可以在js文件里多次編寫(xiě)的,對(duì)于多人共同編寫(xiě)的js就有很大的優(yōu)勢(shì),因?yàn)樗行袨楹瘮?shù)都會(huì)執(zhí)行到。而且$(document).ready()函數(shù)在HMTL結(jié)構(gòu)加載完后就可以執(zhí)行,不需要等大型文件加載或者不存在的連接等耗時(shí)工作完成才執(zhí)行,效率高。

當(dāng)然 也要根據(jù)項(xiàng)目需求來(lái)使用,比如有時(shí)候有些時(shí)候圖片或者重要信息沒(méi)出來(lái),會(huì)對(duì)用戶(hù)操作產(chǎn)生誤導(dǎo),或者需要等獲取某些圖片高寬數(shù)據(jù)后再執(zhí)行的行為函數(shù),就得使用window.onload了。

區(qū)別
1.執(zhí)行時(shí)間

window.onload必須等到頁(yè)面內(nèi)包括圖片的所有元素加載完畢后才能執(zhí)行。
$(document).ready()是DOM結(jié)構(gòu)繪制完畢后就執(zhí)行,不必等到加載完畢。

2.編寫(xiě)個(gè)數(shù)

window.onload不能同時(shí)編寫(xiě)多個(gè),如果有多個(gè)window.onload方法,只會(huì)執(zhí)行一個(gè)
$(document).ready()可以同時(shí)編寫(xiě)多個(gè),并且都可以得到執(zhí)行

3.簡(jiǎn)化寫(xiě)法

window.onload沒(méi)有簡(jiǎn)化寫(xiě)法
$(window).load(function(){})和 window.onload區(qū)別在于前者可以寫(xiě)多個(gè)

$(document).ready(function(){
     });可以簡(jiǎn)寫(xiě)成 
$(function(){
     });
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容