W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎勵
另一種易犯的錯誤,便是帶著其他編程語言的思維,認(rèn)為在JS中,也存在生命周期這么一說。請看下面的代碼:
for (var i = 0; i < 10; i++) { /* ... */ } console.log(i);
如果你認(rèn)為在運(yùn)行console.log() 時肯定會報出 undefined 錯誤,那么你就大錯特錯了。我會告訴你其實(shí)它會返回 10嗎。
當(dāng)然,在許多其他語言當(dāng)中,遇到這樣的代碼,肯定會報錯。因?yàn)閕明顯已經(jīng)超越了它的生命周期。在for中定義的變量在循環(huán)結(jié)束后,它的生命也就結(jié)束了。但是在js中,i的生命還會繼續(xù)。這種現(xiàn)象叫做 variable hoisting。
而如果我們想要實(shí)現(xiàn)和其他語言一樣的在特定邏輯模塊中具有生命周期的變量,可以用let關(guān)鍵字。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: