>  기사  >  웹 프론트엔드  >  자바스크립트 특권 메소드의 사용은 무엇입니까?

자바스크립트 특권 메소드의 사용은 무엇입니까?

青灯夜游
青灯夜游원래의
2021-04-23 19:35:232211검색

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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