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

資訊專欄INFORMATION COLUMN

js中this指向問(wèn)題: (object.getName = object.getName)()為何

Drummor / 2849人閱讀

摘要:輸出的原因,就不談了啊。論證賦值表達(dá)式,返回值是后者,借鑒自網(wǎng)上看到的方法輸出輸出函數(shù)運(yùn)行后,輸出的是賦值語(yǔ)句的后者的值此時(shí)值是。

var name = "The Window";
var object = {
    name : "My Object",
    getName: function(){
         console.log(this.name);
    }
};
object.getName();  //My Object
(object.getName = object.getName)(); //"The Window" 

輸出My Object的原因,就不談了啊。
最后一行輸出結(jié)果,js高級(jí)程序一書(shū)中一筆帶過(guò),不理解的小伙伴可以看下:

object.getName = object.getName;這是個(gè)賦值語(yǔ)句,賦值語(yǔ)句返回的是后者,
舉例:
return a = b; (返回的是b),這點(diǎn)之后論證
那么首先:

(object.getName = object.getName)();     //"The Window" 
//等價(jià)于
(object.getName = function(){
    console.log(this.name);
})();      //"The Window" 

而且賦值語(yǔ)句返回是后者,那么就是:

(object.getName = object.getName)();     //"The Window" 
//等價(jià)于
(function(){
    console.log(this.name);
})();      //"The Window" 

其實(shí),括號(hào)里就是一個(gè)匿名函數(shù),直接在全局環(huán)境立即執(zhí)行,自然this.name就是全局環(huán)境中的name變量的值。

論證賦值表達(dá)式,返回值是后者,借鑒自網(wǎng)上看到的方法:

var test = {
    set  num(param){},
    get  num(){
        return 20;
    },
};
function change(arg){
    return test.num = arg;
}
console.log(change(10));   //輸出10
console.log(test.num);     //輸出20

change函數(shù)運(yùn)行后,輸出的是賦值語(yǔ)句的后者arg的值10(此時(shí)test.num值是20)。

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

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

相關(guān)文章

  • JS的閉包與this詳解

    摘要:刪除對(duì)匿名函數(shù)的引用,以便釋放內(nèi)存在匿名函數(shù)從中被返回后,它的作用域鏈被初始化為包含函數(shù)的活動(dòng)對(duì)象和全局變量對(duì)象。閉包與變量我們要注意到,閉包只能取到任意變量的最后值,也就是我們保存的是活動(dòng)對(duì)象,而不是確定值。 工作中會(huì)遇到很多 this對(duì)象 指向不明的問(wèn)題,你可能不止一次用過(guò) _self = this 的寫(xiě)法來(lái)傳遞this對(duì)象,它每每會(huì)讓我們覺(jué)得困惑和抓狂,我們很可能會(huì)好奇其中到底發(fā)...

    fireflow 評(píng)論0 收藏0
  • 夯實(shí)JS基礎(chǔ)(一):this指向問(wèn)題和經(jīng)典面試題

    摘要:很多高級(jí)編程語(yǔ)言都給新創(chuàng)建的對(duì)象分配一個(gè)引用自身的指針比如中的指針,中的,也有指針,雖然它的指向可能相對(duì)復(fù)雜些,但是指向的,永遠(yuǎn)只可能是對(duì)象。 很多高級(jí)編程語(yǔ)言都給新創(chuàng)建的對(duì)象分配一個(gè)引用自身的指針,比如JAVA、C++中的this指針,python中的self,JavaScript也有this指針,雖然它的指向可能相對(duì)復(fù)雜些,但是this指向的,永遠(yuǎn)只可能是對(duì)象。 一、在一般函數(shù)方法...

    lucas 評(píng)論0 收藏0
  • 夯實(shí)JS基礎(chǔ)(一):this指向問(wèn)題和經(jīng)典面試題

    摘要:很多高級(jí)編程語(yǔ)言都給新創(chuàng)建的對(duì)象分配一個(gè)引用自身的指針比如中的指針,中的,也有指針,雖然它的指向可能相對(duì)復(fù)雜些,但是指向的,永遠(yuǎn)只可能是對(duì)象。 很多高級(jí)編程語(yǔ)言都給新創(chuàng)建的對(duì)象分配一個(gè)引用自身的指針,比如JAVA、C++中的this指針,python中的self,JavaScript也有this指針,雖然它的指向可能相對(duì)復(fù)雜些,但是this指向的,永遠(yuǎn)只可能是對(duì)象。 一、在一般函數(shù)方法...

    EasonTyler 評(píng)論0 收藏0
  • 理解JavaScriptthis

    摘要:別的文章一來(lái)就舉例子,我這里首先告訴大家一個(gè)結(jié)論指向的是調(diào)用函數(shù)的那個(gè)對(duì)象。這里依然是之前的例子中的俗稱箭頭函數(shù),使用它來(lái)定義匿名函數(shù),同樣可以解決的綁定問(wèn)題這是由于函數(shù)體內(nèi)的就是定義時(shí)所在的對(duì)象,而不是執(zhí)行時(shí)所在的對(duì)象。 一、結(jié)論在前 javascript中的this是一個(gè)老生常談的話題,但不知道是之前那些作者沒(méi)講清楚還是我太笨沒(méi)能理解,始終沒(méi)能真正理解它,隨著自己在項(xiàng)目過(guò)程中的大量...

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

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

0條評(píng)論

閱讀需要支付1元查看
<