最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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的評論 (共 條)

分享到微博請遵守國家法律
罗山县| 温泉县| 玉门市| 靖州| 兴化市| 大埔县| 吉安县| 焦作市| 四会市| 德惠市| 青浦区| 泸溪县| 习水县| 进贤县| 天峨县| 崇仁县| 大城县| 民权县| 阜阳市| 沧州市| 遂宁市| 开平市| 招远市| 上林县| 额敏县| 平乐县| 琼结县| 山阳县| 萍乡市| 洪湖市| 双流县| 濮阳市| 资阳市| 淮南市| 昌吉市| 罗江县| 张北县| 莱阳市| 钦州市| 七台河市| 米脂县|