第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在JavaScript的立即執(zhí)行的具名函數(shù)A內(nèi)修改A的值時到底發(fā)生了什么?

在JavaScript的立即執(zhí)行的具名函數(shù)A內(nèi)修改A的值時到底發(fā)生了什么?

一只萌萌小番薯 2019-04-21 20:37:59
如下代碼:(functionA(){console.log(A);//[FunctionA]A=1;console.log(window.A);//undefinedconsole.log(A);//[FunctionA]}())可以看到注釋里的輸出。這也就是說A=1這一步什么都沒有發(fā)生。它既沒有改變A的值,也沒有在window中添加新的屬性。而如下代碼:(functionA(){console.log(A);//undefinedvarA=1;console.log(window.A);//undefinedconsole.log(A);//1}())這個還是很好理解的,var語句被hoist到函數(shù)頂端,函數(shù)內(nèi)定義了變量A但是沒有賦值,所以第一個log是undefined,因?yàn)橛衯ar,并沒有向global添加屬性,因此window.A也是undefined。接著,functionA(){console.log(A);//[FunctionA]A=1;console.log(window.A);//1console.log(A);//1}A();不在立即執(zhí)行這個函數(shù),結(jié)果也很符合直覺,打第一個log時,函數(shù)作用域內(nèi)沒有找到A,因此向上層查找,找到函數(shù)A;然后A=1使得window對象多了一個屬性,第二個log結(jié)果是1,第三個log顯然也是1。那么問題來了,第一段代碼里,A=1到底做了什么呢?
查看完整描述

2 回答

  • 2 回答
  • 0 關(guān)注
  • 315 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號