這個問題在這里已經有了答案: ES6 物件中的方法:使用箭頭函式 6 個答案 36 分鐘前關閉。
let me = {
name: "Sina",
talk: ()=>
{
return this.name;
},
setName: (newName)=>
{
this.name = newName;
}
}
<console.log(me.name); //accessing directly thru object output: Sina>
<console.log(me.talk()); //accessed thru function, output: undefined. **Why undefined???????**>
<me.setName("Reena"); //passing argument to setName()>
<console.log(me.talk()); //output: Reena>
<me.name = "Beena"; // can be changed name property directly like this?>
< //**if so, why not displaying Beeba instead of Reena?????**>
<console.log(me.talk()); //**output: Reena not Beena. why???**>
輸出:
Sina
undefined
Reena
Reena>
uj5u.com熱心網友回復:
因為您使用了箭頭函式,但它們沒有this。
因此,如果您像此處更改代碼,它將起作用:
let me = {
name: "Sina",
talk: function() {
return this.name;
},
setName: function(newName) {
this.name = newName;
}
}
me.setName("Reena");
console.log(me.talk());
me.name = "Beena";
console.log(me.talk());
嘗試通過閱讀這篇文章了解更多關于箭頭函式的資訊: 箭頭函式
希望我幫助你:)
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/475663.html
標籤:javascript 目的
