>  기사  >  웹 프론트엔드  >  js private range_javascript 기술에서 권한 있는 메소드 생성에 대한 자세한 설명

js private range_javascript 기술에서 권한 있는 메소드 생성에 대한 자세한 설명

WBOY
WBOY원래의
2016-05-16 15:18:331367검색

본 글의 예시는 참고용으로 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();

위 내용은 이 글의 전체 내용입니다. 모든 분들의 공부에 도움이 되었으면 좋겠습니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.