国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

this的指向(簡(jiǎn)單描述版)

tracy / 1156人閱讀

摘要:的指向簡(jiǎn)單描述版函數(shù)的調(diào)用在的面向?qū)ο笾惺潜硎竞瘮?shù)調(diào)用相關(guān)聯(lián)的對(duì)象函數(shù)的上下文。結(jié)語(yǔ)關(guān)于的指向是前端面試中經(jīng)常出現(xiàn)的問(wèn)題,以上只是暫時(shí)簡(jiǎn)短總結(jié)了一下結(jié)果而已,后面會(huì)對(duì)各個(gè)函數(shù)調(diào)用的方式進(jìn)行深入解析。

this的指向(簡(jiǎn)單描述版) 函數(shù)的調(diào)用
在JS的面向?qū)ο笾?b>this是表示函數(shù)調(diào)用相關(guān)聯(lián)的對(duì)象(函數(shù)的上下文)。所以要想了解this的指向,我們先要清楚函數(shù)的調(diào)用的方式

1.作為函數(shù)調(diào)用

function add(a,b) {
    return a + b;
}

add(1,2);

以上代碼就是函數(shù)作為函數(shù)直接被調(diào)用,那么在這種情況下,函數(shù)上下文(this)就有兩種可能性質(zhì)

在瀏覽器環(huán)境中,this指向了window對(duì)象

在嚴(yán)格模式下將會(huì)是undefined

2.作為方法被調(diào)用

var method = {};
method.add = function () {};
method.add();

當(dāng)一個(gè)函數(shù)被賦值給一個(gè)對(duì)象屬性,并且通過(guò)對(duì)象屬性引用的方式時(shí)候,函數(shù)就會(huì)被作為對(duì)象的方法被調(diào)用。那么在這種情況下,this指向的就是引用該方法的宿主對(duì)象

3.作為構(gòu)造函數(shù)調(diào)用

let person = new Person();

在使用new的時(shí)候會(huì)有如下動(dòng)作

創(chuàng)建一個(gè)新對(duì)象

該對(duì)象作為this參數(shù)傳遞給構(gòu)造函數(shù),成為構(gòu)造函數(shù)的上下文

新構(gòu)造函數(shù)對(duì)象作為new的返回值

4.使用call,apply方法調(diào)用

function arguNum() {
    var result = 0;
    for(var i = 0; i < arguments.length; i++) {
        result += arguments[i];
    }

    this.result = result;
}

var obj1 = {};
var obj2 = {};

arguNum.apply(obj1, [1,2,3]);  // 6
arguNum.call(obj2, 1,2,3);  // 6

使用call,apply可以改變this的指向,call&apply區(qū)別在于傳遞的參數(shù)是通過(guò)什么方式,call傳遞的是參數(shù)列表,apply傳遞的是一個(gè)數(shù)組。

結(jié)語(yǔ)

關(guān)于this的指向是前端面試中經(jīng)常出現(xiàn)的問(wèn)題,以上只是暫時(shí)簡(jiǎn)短總結(jié)了一下結(jié)果而已,后面會(huì)對(duì)各個(gè)函數(shù)調(diào)用的方式進(jìn)行深入解析。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/100409.html

相關(guān)文章

  • 【Vue原理】依賴收集 - 源碼之基本數(shù)據(jù)類型

    摘要:當(dāng)東西發(fā)售時(shí),就會(huì)打你的電話通知你,讓你來(lái)領(lǐng)取完成更新。其中涉及的幾個(gè)步驟,按上面的例子來(lái)轉(zhuǎn)化一下你買東西,就是你要使用數(shù)據(jù)你把電話給老板,電話就是你的,用于通知老板記下電話在電話本,就是把保存在中。剩下的步驟屬于依賴更新 寫(xiě)文章不容易,點(diǎn)個(gè)贊唄兄弟專注 Vue 源碼分享,文章分為白話版和 源碼版,白話版助于理解工作原理,源碼版助于了解內(nèi)部詳情,讓我們一起學(xué)習(xí)吧研究基于 Vue版本 【...

    VincentFF 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<