// i = inner, o = outer, f=function, a=attribute
var singleton = function() {
var iF = function() {
return this.oA; // returns undefined
}
return {
oF: function() {
this.oA = true;
return iF();
},
oA: false
};
}();
singleton.oF();
싱글이었던 경우 (클래스 기반 언어 등) class
, 내가 this.oA
통해 oA
에 액세스 할 수 없습니다해야합니까?자바 스크립트 싱글 : 내부 함수에서 액세스 외부 속성
return singleton.oA; // returns true (as it should)
나는 이유는 모르겠지만 singleton
기본 객체를 통해 oA
를 액세스하는 나를 종류의 느낌 ... :
내가 iF
에서 oA
에 액세스 찾은 유일한 방법 일 것입니다 더러운. 내가 뭘 놓치고 있니? this.oA
은 실제로 (범위의 관점에서) 무엇을 의미합니까?
문제는'this'가 그 문맥에서'window'를 가리키고 있다는 것입니다. 그러나 여러분이 여기에있는 것이 정확히 무엇인지 확신 할 수 없습니다. –