關(guān)于函數(shù)表達式問題?
如本次編程挑戰(zhàn)目的是實現(xiàn)點擊某li塊顯現(xiàn)該li塊對應(yīng)的div塊而影藏其余2個div塊,而實現(xiàn)影藏的div塊的js代碼核心為2個for循環(huán)以及2個函數(shù)表達式,第一個表達式為:widnow.onload=function(){//代碼}
而第二個表達式為:?oLis[i].onclick = function() {//代碼};
由于進階篇并沒有講函數(shù)表達式,所以經(jīng)過百度發(fā)現(xiàn)想要使函數(shù)運行也得函數(shù)調(diào)用譬如:
var a=function(){console.log("hello!")};
這樣子并不會使得代碼運行,但是只要加上:
a();則編譯器立馬打印hello!
對于?oLis[i].onclick = function() {//代碼};只能理解為oLis[i].onclick鼠標(biāo)點擊后會立即觸發(fā)后邊的function代碼,所以我們不用oLis[i].onclick(參數(shù))因為參數(shù)就是鼠標(biāo)點擊。
但是widnow.onload=function(){//代碼}怎么使得function里的代碼運行的?這里沒有可觸發(fā)的window.onload(參數(shù))的參數(shù),也沒有類似于a()這樣的函數(shù)調(diào)用,請問是怎么運行的?
2016-10-21
每次刷新加載網(wǎng)頁的時候,會自動調(diào)用 windows.onload
2016-10-21
我剛剛又去百度了一下window.onload這句詞法意味著頁面加載完,就去執(zhí)行;我們提交完代碼開始運行,首先碰到widnow.onload=function(){//代碼},開始加載頁面,頁面加載完后立即執(zhí)行(即window.onload)其實就相當(dāng)于window.onload();于是就完成了此次的任務(wù)。