Я пишу приложение в узле, и я сталкиваюсь с чем-то странным.this.property возвращает undefined в nodejs
Я передаю объект в функцию с помощью метода call() для изменения этого объекта. Когда внутри функции, когда я делаю console.log (это), он возвращает объект в порядке, однако, когда я пытаюсь выполнить console.log (this.foo) или пытаюсь изменить объект, он говорит undefined. UPDATE: Я также должен упомянуть, что передаю эту функцию в объекте, потому что мне нужно вставить функции в другую функцию. (Более конкретно, я пытаюсь получить 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 [ "имя"] значение, ..
Возможно, я не понимаю, как это работает, но после нескольких часов поиска и попыток вещей я не знаю ..
Спасибо за ваш ответ Ronny, однако я не могу этого сделать, так как я должен передать функцию через объект (должен был упомянуть это, возможно). Я обновил свой вопрос. –