-1
我知道這個問題是相當愚蠢的。爲什麼在一個方法中的關鍵字
相關的代碼:
var myObj = {
name: 'Popo',
lastName: 'Shomo',
fullName: function(){
return name + " " + lastName;
}
};
我知道加入this.name
和this.lastName
它會工作,但我的問題是:爲什麼不能去其詞法範圍,並從那裏搶屬性?我知道它完全是D-U-M-B,但我想知道背後的正確原因。
如果你之前沒有包含'name'屬性並將其中一個設置爲'myObj.name ='Popo',那麼'name'是否仍然會引用該函數中的'this.name'?這是一個潛在的令人困惑的範圍問題,它使得這個簡單得多的解決方案(以及爲什麼[with'語句](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/with )已棄用)。 – Ryan