第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

兩個(gè)相同的對象使用相同的方法輸出不同的結(jié)果

兩個(gè)相同的對象使用相同的方法輸出不同的結(jié)果

慕村225694 2021-09-17 12:57:24
所以這是我的代碼,你可以看到你有一個(gè)名為“Obj”的對象,然后你有一個(gè)名為“myClass”的類,它創(chuàng)建的對象與“Obj”對象相同,但對象“newObj”中的run方法是從創(chuàng)建的myClass 輸出不同的結(jié)果,這是沒有意義的,因?yàn)閮蓚€(gè)對象 100% 相同    var x = 10; //global var    var Obj =  {        x:30 ,        run : () => {          console.log(this.x);      }    }    console.log(Obj)    Obj.run() //outputs 10    //a class which creates the same 'Obj' Object    class myClass {      constructor() {        this.x=30        this.run = () => {          console.log(this.x)        }      }    }    var newObj = new myClass()    console.log(newObj); //outputs an object which is as identical as the 'Obj' Object    newObj.run(); //outputs 30 instead of 10就是這樣,提前謝謝
查看完整描述

3 回答

?
慕桂英3389331

TA貢獻(xiàn)2036條經(jīng)驗(yàn) 獲得超8個(gè)贊

由于您在對象內(nèi)使用箭頭函數(shù),因此this變?yōu)閣indow,而不是Obj。但是在類中,run 函數(shù)在構(gòu)造函數(shù)內(nèi)部,this生成對象,而不是window. 如果您希望對象打印對象 x,則需要使用Obj.x.


var Obj =  {

    x:30 ,

    run : () => {

      console.log(Obj.x);

  }

}

即使兩個(gè)對象在同一個(gè)作用域中,它們也不是在同一個(gè)作用域中創(chuàng)建的,它們的創(chuàng)建方式也不同。類是構(gòu)造函數(shù),對象不是。


如果您確實(shí)想使用this關(guān)鍵字,那么run : () =>您可以簡單地將其替換為run ()。然后你可以使用this.x代替Obj.x。它有點(diǎn)像在類中(在其構(gòu)造函數(shù)之外)定義一個(gè)函數(shù)。


var Obj =  {

    x:30 ,

    run () {

      console.log(this.x);

  }

}


查看完整回答
反對 回復(fù) 2021-09-17
?
哈士奇WWW

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超6個(gè)贊

假設(shè)這是在瀏覽器中,當(dāng)你說var x = 10; // global var全局對象是瀏覽器的window,所以你說window.x = 10;

然后創(chuàng)建你的“目標(biāo)文件”,并指定X,x:30但你仍然在全球范圍內(nèi),所以在那里當(dāng)“運(yùn)行”運(yùn)行,this還是指windowwindow.x為10。

當(dāng)您擁有myClass并構(gòu)造其中之一newObj時(shí),此時(shí)this現(xiàn)在指的是構(gòu)造的對象,因此this.x指的是成員x,即 30。

在控制臺中查看時(shí),它們可能看起來相同,但這是因?yàn)榭刂婆_兩次都在同一范圍內(nèi)工作。嘗試在您所做的每一行上放置一個(gè)斷點(diǎn),console.log并檢查您遇到斷點(diǎn)時(shí)this和的值。this.x


查看完整回答
反對 回復(fù) 2021-09-17
  • 3 回答
  • 0 關(guān)注
  • 230 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號