JavaScript에서 권한 있는 메서드는 사용자가 개인 변수를 보고 처리하는 동안 공용 메서드로 액세스할 수 있도록 허용하는 메서드를 말합니다. 기능: 생성자 외부의 공용 액세스(인스턴스화된 객체로 제한됨) 및 전용 멤버 및 메서드에 액세스할 수도 있습니다. 공용 메서드에 의한 전용 속성 또는 메서드에 대한 액세스는 권한 있는 메서드를 통해 제어할 수 있습니다.
이 튜토리얼의 운영 환경: Windows 7 시스템, JavaScript 버전 1.8.5, Dell G3 컴퓨터.
권한 있는 메서드:
개인 변수를 보고 처리하는 동안 사용자가 공용 메서드로 액세스할 수 있도록 하는 메서드를 의미합니다.
포인트:
1 권한 있는 메서드는 메서드입니다. 개인 변수에 액세스할 수 있습니다
권한 있는 메서드 정의생성자 내부에서 this 키워드를 통해 정의된 메서드는 인스턴스화된 객체 상속으로 호출될 수 있습니다.
var Student = function(name) { var _name = name; //私有属性 //特权方法 this.getName = function() { return _name; }; this.setName = function(name) { _name = name; }; }; var s1 = new Student('zhangsan'); s1.getName(); //zhangsan권한 있는 메서드의 역할
권한 있는 메서드는 생성자 외부에서 공개적으로 접근할 수 있고(인스턴스화된 객체에 한함), 전용 멤버 및 메서드에도 접근할 수 있으므로 객체나 생성자로 사용되는 인터페이스가 가장 많습니다. 특권 메서드를 통해 프라이빗 속성이나 메서드에 대한 퍼블릭 메서드 액세스를 제어할 수 있기 때문에 완벽합니다. JS 프레임워크의 확장에는 많은 애플리케이션이 있습니다.
권한 있는 메서드와 공개 메서드의 차이점
같은 점:
1 둘 다 생성자 외부에서 공개적으로 액세스할 수 있습니다.
2. 공용 속성에 액세스할 수 있습니다.
차이점: 2가지가 있습니다
1. 각 인스턴스에는 권한 있는 메서드의 복사본이 있어야 하며(싱글톤에서 사용되는 경우를 제외하고 메모리를 고려해야 함) 공용 메서드는 공유됩니다. 모든 경우에
//创建Student对象实例 var s1 = new Student('zhangsan'); var s2 = new Student('lisi'); //两实例的特权方法的引用不相同, 说明在对象实例化的时特权方法被重新创建 console.log(s1.getName === s2.getName); //false
2. 권한 있는 메서드는 프라이빗 속성과 메서드에 액세스할 수 있지만 퍼블릭 메서드는 액세스할 수 없습니다.
//为Student创建公有方法 //公有方法不能访问私有属性 Student.prototype.myMethod = function() { console.log(_name); //ReferenceError: _name is not defined }; s1.myMethod();
【추천 학습:
javascript 고급 튜토리얼위 내용은 자바스크립트 특권 메소드의 사용은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!