본 글의 예시는 참고용으로 js 프라이빗 범위에서 권한을 생성하는 방법을 공유합니다
권한 있는 메서드 는 개인 변수와 개인 함수에 액세스할 수 있는 공용 메서드입니다.
function MyObject(){ var privateVariable = 10; function privateFunction(){ return false; } this.publicMethod = function(){ privateVariable ++; return privateFunction(); }; } var x = new MyObject(); console.log(x.publicMethod()) ;//false
개인 변수와 함수는 개인 범위에서 정의되며 다음과 같은 권한 있는 메서드도 생성할 수 있습니다.
(function(){ var privateValue = 10; function privateFunction(){ return false; } MyObject = function(){}; //没有var 属于全局变量,严格模式下会报错 MyObject.prototype.publicMethod = function(){ privateValue ++; return privateFunction(); }; })(); var instance = new MyObject(); console.log(instance.publicMethod());
여기서 전역 생성자 함수가 실제로 비공개 범위에 정의되어 있음을 볼 수 있습니다. 메서드 중 하나는 비공개 범위에서 비공개 변수와 속성을 반환하는 것입니다. 다음과 같이 작성하시면 더 잘 이해하실 수 있습니다.
Obj = function(){}; (function(){ var x = 10; function y(){ return x + 10; } Obj.prototype.say = function(){ console.log(y()); }; })() var ins = new Obj(); ins.say();
위 내용은 이 글의 전체 내용입니다. 모든 분들의 공부에 도움이 되었으면 좋겠습니다.