개체의 메서드 (개체의 속성 중 하나를 업데이트 함)를 다른 함수의 인수로 전달하면 원래 개체가 수정되지 않는다는 것을 알게되었습니다. 예를 들어JavaScript 객체의 메서드를 전달해도 객체가 업데이트되지 않는 이유는 무엇입니까?
:
var obj = {
foo: 0,
bar: function() {
this.foo++;
}
};
function baz(callback) {
callback();
}
baz(obj.bar); // does not alter obj
obj.bar(); // increments obj.foo successfully
console.log(obj.foo); // should be 2, not 1
왜 자바 스크립트 객체 참조에 의해 전달되기 때문에이있다? 또는 this
값 - -
참조 : http://stackoverflow.com/questions/3630054/how-do-i-pass-the-this-context-to-a-function – Dai