초보자를 자바 스크립트로 보냅니다.자바 스크립트 범위 : 하위 멤버의 클로저를 참조하는 부모 개체 멤버
구성원 내에서 foo
을 (를) foobar
(으)로 말하면 어떻게합니까? foobar
은 폐쇄 되었습니까?
var priv = {
foo: "bar",
foobar: (function() {
return this.foo === "bar";
})()
};
위의 코드는 실패합니다. 그 안에 this.foo
은 undefined
입니다. this.foo
을 priv.foo
으로 변경하면 여전히 undefined
입니다. foobar
폐쇄에서 priv.foo
을 어떻게 참조합니까?
당신이 정말 폐쇄 전화를하고 싶어 : 그리고 당신은 여전히 전화를해야하는 경우
foobar
foo
후 정의 할 수priv.foobar();
로 호출 할 수 있을까? '()')' – meze
다음에'()'를 제거하려고합니다. 불행히도, 나는 그렇게합니다. '포바 (foobar)'는 실제로 수십 줄이다. :/ – DotNetQuestionDate
내 대답은 아래에 설명했다 – meze