0
부모 객체 내에 중첩 된 객체가 있습니다. 내부 객체는 2 개의 함수를 가지며 하나는 다른 객체를 호출해야합니다. 내가 this.theFunction()
라고 부를 수 있다고 생각했는데, 그럴 것 같지 않습니다. 이 경우 중첩 된 객체 내에서 함수 호출
var views = {
settings: {
init: function() {
this.doSomething(withThing);
},
doSomething: function(with) {
// NEVER GETS CALLED
}
}
};
는
this
는 내가 기대 한대로
views.settings
객체가 아닌
DOMWindow
을 참조 할 것. 내가 뭘 놓치고 있니?
views.settings.init()
콜백 함수가 호출되는
UPDATE. 외부 프로세스는 template.init(view, views.settings.init);
을 호출합니다. 후자의 인수는 콜백입니다. template.init()
에서 콜백은 간단히 callback()
이라고합니다.
template.init(view, views.settings.init);
var template: {
init: function() {
callback();
}
}
어떤 상황이 지워지 발생할 것이며, 제가 그래서 this
참조합니다 views.settings
개체를 다시 얻기 위해 수행 할 수 선명도 (희망)의 경우, 우리가 views.settings.init
에 도착하는 방법의 조각이야? 이 일을
입니다. 'this'의 기본값은 전역 컨텍스트입니다 ("strict"모드에 있지 않은 한). – Pointy
'views.settings.doSomething()'? – BenM
또한'with'는 예약어입니다. http://stackoverflow.com/questions/61552/are-there-legitimate-uses-for-javascripts-with-statement – Biketire