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