하나의 전역 이름 공간을 사용하여 다양한 도구를 만들 때 도구의 메서드에서 네임 스페이스 개체의 속성이나 메서드에 액세스하려면 어떻게해야합니까?하나의 전역 네임 스페이스를 사용하여 도구의 메서드에서 네임 스페이스의 속성/메서드에 액세스하는 방법?
OT
"우리 도구"를 이름 공간으로 지정하십시오. 그것은 것으로 보인다
OT.GridInterface = function(){
// A Grid tool
this.DoSomething();
}
OT.GridInterface.prototype = new OT.BaseInterface();
OT.GridInterface.prototype.DoSomething = function(){
console.log(Turkey); // undefined
console.log(OT.Turkey); // undefined with Closure, works with Obj Literal*
console.log(this.Turkey); // undefined
}
// * This goes around the outside to get the property publicly rather than up through the inside.
:
우리가 할 수있는 : OT
객체 등의
var OT = function(){ // Closure
var Turkey = 'Im a Turkey!';
return this;
}();
또는
var OT = { // Object Literal
Turkey:'Im a Turkey!'
};
을 각각의 경우에, 우리는 우리의 도구를 추가 기술적으로 각각의 도구는의 방법입니다. 내부 함수가 외부 함수의 속성에 액세스 할 수 있어야하기 때문에및 해당 메서드의 메서드는 Turkey
네임 스페이스 속성에 액세스 할 수 있어야합니다?
내 목표는 OT
에있는 모든 유틸리티 도구를 사용하여 OT
의 공유 유틸리티 변수를 사용할 수 있다는 것입니다. 이상적으로는, 이러한 도구와 속성은 도구에서 읽을 수 있거나 사용할 수 있어야하지만 도구로는 변경할 수 없어야합니다.