五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

關(guān)于變量賦值過程、自執(zhí)行函數(shù)、作用域、this指向的個坑:

2021-03-16 19:22 作者:刂C刂C刂  | 我要投稿


執(zhí)行報錯:obj is undefined?

原因在于:對象obj 中的 fn 屬性值為一個立即執(zhí)行函數(shù)。將obj的值指向obj這個變量 完成賦值,是在立即執(zhí)行函數(shù)執(zhí)行之后。

修改傳入的實參為 n
輸出結(jié)果

// 代碼執(zhí)行過程:
1.變量提升,賦值。
2.obj完成賦值前,立即執(zhí)行函數(shù)執(zhí)行。
??? 2.1 立即執(zhí)行函數(shù)變量提升,產(chǎn)生一個私有的局部變量 n。
??? 2.2 立即執(zhí)行函數(shù)的作用域為 window,傳入的實參值為全局變量n=1。
??? 2.3 私有變量n = 3*1;
??? 2.4 this.n 指向全局作用域,全局作用域下的n變?yōu)椋?。
??? 2.5 變量重復(fù)定義,私有變量n = 5。
??? 2.6 n=5 this.n=4。
??? 2.7 將這個函數(shù)作為值,返回給obj中的fn屬性。 ?

3.變量賦值完成,執(zhí)行后面的代碼
3.1 fn(3),函數(shù)沒有n,向上級作用域查找,n=5。 fn()在全局作用域下執(zhí)行,所以this指向全局作用域,this.n=4。 `console.log(m+(++n)) => 自增運算符,此時私有n = 6`

??????? 輸出結(jié)果為:5 4 9??
???

3.2 fn(3),函數(shù)沒有n,向上級作用域查找,n=6。 obj調(diào)用的fn(),所以this指向obj,this.n=2。
??????? 輸出結(jié)果為:6 2 10
???

3.4 輸出結(jié)果為:4 2???


這道題主要考查的有:

????? 變量賦值的過程:(1)聲明變量 (2)開辟內(nèi)存空間存儲值? (3)將值指向變量。

????? this的指向: 瀏覽器環(huán)境下,誰調(diào)用就指向誰。沒有調(diào)用基本就指向window,比如自執(zhí)行函數(shù)、setTimeout 這些window下的方法。

?????? 閉包:在3.1中,由于作用域鏈的關(guān)系,私有作用域的值并沒有銷毀。

關(guān)于變量賦值過程、自執(zhí)行函數(shù)、作用域、this指向的個坑:的評論 (共 條)

分享到微博請遵守國家法律
马公市| 精河县| 柳江县| 鹿邑县| 商河县| 韩城市| 辰溪县| 贵阳市| 桂东县| 镇江市| 霍山县| 曲周县| 合水县| 桑日县| 武穴市| 西乌珠穆沁旗| 鹿邑县| 汪清县| 镇安县| 汕头市| 扎囊县| 成安县| 乌鲁木齐县| 斗六市| 宁阳县| 拜泉县| 松桃| 项城市| 龙川县| 屯留县| 集安市| 珲春市| 黄浦区| 康乐县| 平潭县| 乐都县| 建昌县| 高平市| 临朐县| 特克斯县| 谢通门县|