我正在編寫節點中的應用程序,並且遇到了一些奇怪的事情。this.property在nodejs中返回undefined
我使用call()方法將對象傳遞給一個函數來修改該對象。當我在console.log(this)函數裏面的時候,它返回的對象很好,但是當我嘗試去做console.log(this.foo)或者嘗試修改它說undefined的對象時。 更新:我也不得不提到我將這個函數傳遞給一個對象,因爲我必須將函數注入到另一個函數中。 (更具體的,我試圖讓this工作。也許這也是問題的一部分。
var obj = {name: "John", age: 23};
var functions = {up: function() { /* do stuff */ }, down: function() { /* do stuff */
functions.up.call(obj);
up: function() {
console.log(this); //returns {name: "John", age: 23}
console.log(this.name); //returns undefined
this.wife = "Jenny"; //doesn't do anything
}
但是如果我設置的屬性與「_」他們確實存在,但不顯示當我打電話的console.log(本);
up: function() {
this._wife = "Jenny"; //doesn't do anything
console.log(this._wife); //returns "Jenny"
console.log(this); //still returns {name: "John", age: 23}
}
我用盡了一切就像使用this.set(鍵,值),this.get(鍵),this.attributes [ 「名稱」]值, ..
也許我誤解了'這個'是如何工作的,但經過幾個小時的搜索和嘗試,我很無知..
感謝羅尼,但我不能這樣做,因爲我必須通過一個對象傳遞函數(應該提到,也許)。我已經更新了我的問題。 –