노드에 응용 프로그램을 작성 중이며 이상한 점이 있습니다.this.property가 nodejs에서 undefined를 반환합니다.
call() 메서드를 사용하여 함수에 객체를 전달하여 해당 객체를 수정합니다. 함수 내부에서 console.log (this)를 수행하면 객체를 올바르게 반환하지만 console.log (this.foo)를 수행하려고하거나 객체를 수정하려고하면 정의되지 않는다고 말합니다. 업데이트 : 다른 함수에 함수를 주입해야하기 때문에이 함수를 객체에 전달해야합니다. (더 구체적으로, 나는 어쩌면이 또한 문제의 일부입니다. 일을 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.attributes [ "이름"] 값, ..
어쩌면 내가 '이'작품을 오해하고있다. 그러나 수 시간 동안 검색하고 시도한 후에 나는 단서가 없다.
감사합니다, 그러나 나는 그것을 할 수 없다. 왜냐하면 나는 아마도 객체를 통해 함수를 전달해야하기 때문이다. 내 질문을 업데이트했습니다. –