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

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

JS中的return與this

2022-11-02 16:16 作者:十叁みずき  | 我要投稿

this

1

我們要打印fun fun()和 new fun()

此時對應(yīng)的結(jié)果應(yīng)該為函數(shù)體 return返回值 和 fun{ xxx:'1231321'}

一般來說打印函數(shù)不帶括號是不執(zhí)行函數(shù)的內(nèi)容的.

其中如果不加new fun() this指向window 加了之后this指向new的對象本身

例子1

第一個Foo.getName()直接對號入座 打印2

第二個getName() 我們發(fā)現(xiàn)有一個變量聲明 和一個函數(shù)聲明 此時由于提升 變量的優(yōu)先級要大于函數(shù) 打印4

第三個先執(zhí)行Foo()后返回this,這時this指向window 也就是window.getName()打印輸出1

第四個再次使用getName(),由于第三個改變了全局的getName() 所以輸出結(jié)果和第三個一樣

如果我們要執(zhí)行new Foo().getName()通過原型查找機制,先在自身找,沒有找到=>到構(gòu)造函數(shù)Foo()中去找,由于Foo()中的getName指向window ,沒有加this,所以構(gòu)造函數(shù)也沒有=>到自身原型去找沒有=> 到構(gòu)造函數(shù)原型的Foo.prototype.getName找到了 打印輸出3

例子2

o.b.fn()=>fn里面兩個打印輸出 一個是this.a 一個是this指向誰=>fn是b中的,所以this指向b,b中的a是2.如果b中沒有a的話,由于this的存在,a不會去找o中的a,結(jié)果為undefined.

例子3

let a=new A() 由于new操作符 a現(xiàn)在是對象A{name:123}

然后輸a.getA,在a中沒有找到getA方法,到構(gòu)造函數(shù)中去找也沒有,到原型中去找到了

于是打印this,這時候的this指向全局window

例子4

對于obj,test1() 函數(shù)中調(diào)用函數(shù)是一個閉包的過程 this指向window 為11

而obj.test2() this指向obj 為6

JS中的return與this的評論 (共 條)

分享到微博請遵守國家法律
安塞县| 溧水县| 唐山市| 平塘县| 简阳市| 伊川县| 莆田市| 武穴市| 兴化市| 介休市| 迭部县| 灵川县| 句容市| 正定县| 巫山县| 溧阳市| 卓尼县| 新源县| 德兴市| 栾城县| 双城市| 黄平县| 依兰县| 得荣县| 洪洞县| 高要市| 阜平县| 资兴市| 黄大仙区| 龙游县| 昌都县| 本溪市| 澄迈县| 安平县| 天长市| 阳西县| 庄浪县| 元朗区| 沧源| 张北县| 公主岭市|