Javascript는 인스턴스 메소드를 정의할 수 있습니다. 1. JavaScript 객체 프로토타입 참조 프로토타입을 사용하여 인스턴스 메소드를 구현합니다. 2. 객체 인스턴스에서 직접 메소드를 정의합니다. 3. 이 포인터를 통해 인스턴스 메소드를 정의합니다.
이 튜토리얼의 운영 환경: Windows 7 시스템, JavaScript 버전 1.8.5, Dell G3 컴퓨터.
1. JavaScript 객체 프로토타입 참조 프로토타입을 사용하여 인스턴스 메소드
var BaseClass = function() {}; BaseClass.prototype.method1 = function(){ alert(' This is a instance method '); } var instance1 = new BaseClass(); instance1.method1(); //This is a instance method
2. 인스턴스에서 직접 메소드(객체)를 정의합니다.
var BaseClass = function() {}; var instance1 = new BaseClass(); instance1.method1 = function(){ alert(' This is a instance method too '); } instance1.method1();//This is a instance method too
3. 이 포인터를 통해 인스턴스 메소드(변수)를 정의합니다.
그렇다면 인스턴스에 동일한 인스턴스 메소드, 프로토타입 참조 및 "this"를 동시에 정의한 후 인스턴스는 어느 것을 먼저 호출할까요?var BaseClass = function() {
this.method1 = function(){
alert(' Defined by the "this" instance method');
}
};
var instance1 = new BaseClass();
instance1.method1();//Defined by the "this" instance method
* * 그리고 "this"에 정의된 우선순위
* 즉, 인스턴스에 직접 정의된 변수는 "this"와 프로토타입에 정의된 변수를 덮어쓰고, "this"에 정의된 변수는 프로토타입타입에 정의된 변수를 덮어씁니다.
【추천 학습:
javascript 고급 튜토리얼위 내용은 JavaScript가 인스턴스 메소드를 정의할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!