2014-10-04 54 views
0

我最近開始學習JavaScript,想知道是否可以在同一個對象中直接使用函數中的對象變量。這是我的代碼到目前爲止。在函數內使用對象變量。 JavaScript

var user = { 
    name: 'Example', 
    age: 687, 
    address: { 
    firstLine: '20', 
    secondLine: 'St Fake', 
    thirdLine: 'Fakeland' 
    }, 
    logName: function(inputName, inputAge){ 
    console.log(user.name); 
    console.log(user.age); 
    console.log(inputAge); 
    console.log(inputName); 
    } 
    }; 

    user.logName('Richard', 20); 

怎麼可能鏈接到的用戶在功能上的姓名和年齡變量,而無需將對象名稱前綴到變量?

回答

2

只是參考它在most cases,你可以只使用this keyword獲得上你的函數被稱爲在一個方法的對象。在你的例子中:

var user = { 
    name: 'Example', 
    age: 687, 
    address: { 
     firstLine: '20', 
     secondLine: 'St Fake', 
     thirdLine: 'Fakeland' 
    }, 
    logName: function(inputName, inputAge) { 
     console.log(this.name); 
//     ^^^^ 
     console.log(this.age); 
//     ^^^^ 
     console.log(inputAge); 
     console.log(inputName); 
    } 
}; 

user.logName('Richard', 20); // method call on `user`, 
          // so `this` will become the `user` in the function 
+0

謝謝你的回覆更好地瞭解this關鍵字。 – hudsond7 2014-10-04 20:03:47

1

歡迎來到「這個」關鍵詞!

通過THIS.VALUE

1

你可以使用this關鍵字。您可以使用this article

的代碼會是這樣

var user = { 
    name: 'Example', 
    age: 687, 
    address: { 
     firstLine: '20', 
     secondLine: 'St Fake', 
     thirdLine: 'Fakeland' 
    }, 
    logName: function (inputName, inputAge) { 
     console.log(this.name); 
     console.log(this.age); 
     console.log(inputAge); 
     console.log(inputName); 
    } 
}; 

user.logName('Richard', 20); 
相關問題