成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

關(guān)于js中this指向的總結(jié)

mcterry / 1120人閱讀

摘要:中指向問(wèn)題一直是個(gè)坑,之前一直是懵懵懂懂的,大概知道一點(diǎn),但一直不知道各種情況下指向有什么區(qū)別,今天親自動(dòng)手測(cè)試了下的指向。這就是我關(guān)于學(xué)習(xí)的總結(jié),希望能給需要的人點(diǎn)幫助,然后有啥不足希望有大神能指點(diǎn)出來(lái)。

js中this指向問(wèn)題一直是個(gè)坑,之前一直是懵懵懂懂的,大概知道一點(diǎn),但一直不知道各種情況下指向有什么區(qū)別,今天親自動(dòng)手測(cè)試了下this的指向。
1.在對(duì)象中的this
對(duì)象中的this指向我們創(chuàng)建的對(duì)象,例如:

var obj ={
    ccc : 1122,
    ffffd : 2233,
    ded : function(){
            console.log(this);
        }  ,
    fff : function(){
            console.log(this === obj );
        }
}
obj.ded();
obj.fff();

在chrome中執(zhí)行的答案如下:

上圖我們可以看出我們執(zhí)行obj對(duì)象下的ded函數(shù)時(shí),打印出來(lái)的事Object對(duì)象里面的所有屬性,展示這個(gè)對(duì)象

可以看到obj對(duì)象包含的方法和屬性都包含在this對(duì)象下面,再運(yùn)行fff函數(shù),把this和obj對(duì)象進(jìn)行比較,可以看出這兩個(gè)是恒等的,所以在對(duì)象里的this指向這個(gè)對(duì)象。

2.直接調(diào)用函數(shù)時(shí)的this指向
先創(chuàng)建一個(gè)函數(shù):

function main(){
    this.aad = 234;
    console.log(this);    
}
main();

運(yùn)行效果如下:

可以看到我們打印出來(lái)的this對(duì)象指向全局變量window,而創(chuàng)建的aad變量直接包含在了window對(duì)象下面了,所以直接調(diào)用函數(shù)時(shí)this是指向window對(duì)象的。

3.構(gòu)造函數(shù)中的this指向
當(dāng)我們創(chuàng)建一個(gè)構(gòu)造函數(shù)時(shí),并且實(shí)例化一個(gè)對(duì)象時(shí),this的指向哪里呢?先創(chuàng)建一個(gè)函數(shù)

function main(){
    this.aad = 234;
    this.def = function(){
                console.log(this);
            };
    this.foo = function(){
            console.log(this === xxx);
        };
    this.xoo = function(){
            console.log(this === main);
        };
}
var xxx = new main();
xxx.def(); 
xxx.foo();
xxx.xoo();

可以看出xxx.def函數(shù)還是指向main函數(shù),但這只是把上下文給打印出來(lái)了,但當(dāng)我們打印this與構(gòu)造函數(shù)以及實(shí)現(xiàn)對(duì)象比較時(shí)就可以看出區(qū)別了,與構(gòu)造函數(shù)main比較出來(lái)的值是false;與xxx函數(shù)比較時(shí)顯示是true,所以構(gòu)造函數(shù)this事指向當(dāng)前實(shí)例化對(duì)象的。

這就是我關(guān)于this學(xué)習(xí)的總結(jié),希望能給需要的人點(diǎn)幫助,然后有啥不足希望有大神能指點(diǎn)出來(lái)。

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/49769.html

相關(guān)文章

  • 關(guān)于jsthis指向總結(jié)

    摘要:中指向問(wèn)題一直是個(gè)坑,之前一直是懵懵懂懂的,大概知道一點(diǎn),但一直不知道各種情況下指向有什么區(qū)別,今天親自動(dòng)手測(cè)試了下的指向。這就是我關(guān)于學(xué)習(xí)的總結(jié),希望能給需要的人點(diǎn)幫助,然后有啥不足希望有大神能指點(diǎn)出來(lái)。 js中this指向問(wèn)題一直是個(gè)坑,之前一直是懵懵懂懂的,大概知道一點(diǎn),但一直不知道各種情況下指向有什么區(qū)別,今天親自動(dòng)手測(cè)試了下this的指向。 1.在對(duì)象中的this對(duì)象中的t...

    zhangfaliang 評(píng)論0 收藏0
  • This 指針--深思

    摘要:當(dāng)代碼在一個(gè)環(huán)境中執(zhí)行時(shí),會(huì)創(chuàng)建變量對(duì)象的一個(gè)作用域鏈。可以指向不同的運(yùn)行環(huán)境,這里的運(yùn)行環(huán)境本質(zhì)上指的是對(duì)象,可以是內(nèi)建對(duì)象自定義對(duì)象或者全局對(duì)象。 今天早上看到公眾號(hào)推送了阮一峰老師的文章JavaScript 的 this 原理,文章不是很長(zhǎng)于是研究了一下。 看完自己的總結(jié)如下: this this 指向函數(shù)運(yùn)行時(shí)所在的環(huán)境。 函數(shù)運(yùn)行在對(duì)象內(nèi),this 就指向該對(duì)象 運(yùn)行在全局...

    ernest.wang 評(píng)論0 收藏0
  • 關(guān)于javascript類特性一些總結(jié)

    摘要:被克隆的對(duì)象稱之為新對(duì)象的原型,新對(duì)象保存一個(gè)指向其原型的引用。一個(gè)對(duì)象是如何與其原型聯(lián)系起來(lái)的呢答對(duì)象的屬性指向其構(gòu)造函數(shù)的。如何實(shí)現(xiàn)繼承呢使構(gòu)造函數(shù)的等于另一個(gè)構(gòu)造函數(shù)的一個(gè)實(shí)例這樣就使得繼承于。 眾所周知,在javascript這門動(dòng)態(tài)類型語(yǔ)言中,是不存在如傳統(tǒng)靜態(tài)類型語(yǔ)言如c++或java中對(duì)類的支持的。后者是天生為面向?qū)ο缶幊潭O(shè)計(jì),其中涉及的一些概念如繼承、多態(tài)、函數(shù)重載在...

    sunsmell 評(píng)論0 收藏0
  • jsthis總結(jié)

    摘要:關(guān)于的指向問(wèn)題算的上是中的一個(gè)十分重要的問(wèn)題了。首先,的指向問(wèn)題可以用一句話總結(jié)就是總是指向調(diào)用的對(duì)象,也就是說(shuō)指向誰(shuí)與函數(shù)聲明的位置沒(méi)有關(guān)系,只與調(diào)用的位置有關(guān)。此外注意幾種特殊情況,特別是中的箭頭函數(shù)。 關(guān)于this的指向問(wèn)題算的上是js中的一個(gè)十分重要的問(wèn)題了。今天把這個(gè)問(wèn)題總結(jié)下,加深下自己對(duì)this的理解。首先,this的指向問(wèn)題可以用一句話總結(jié)就是:this總是指向調(diào)用的對(duì)...

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

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

0條評(píng)論

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