>  기사  >  웹 프론트엔드  >  javascript_js 객체 지향으로 클래스를 작성하는 다섯 번째 방법

javascript_js 객체 지향으로 클래스를 작성하는 다섯 번째 방법

WBOY
WBOY원래의
2016-05-16 18:50:46861검색

5. 생성자 프로토타입을 사용하여 클래스를 정의합니다. 동일한 생성자로 여러 유형을 정의할 수 있습니다.

코드 복사 코드는 다음과 같습니다. :

/**
* $define 클래스 작성 도구 함수 2
* @param {Object} 생성자
* @param {Object} 프로토타입
*/
function $define(constructor,prototype) {
var c = constructor || function(){}; = 프로토타입 | | {};
return function() {
for(var atr in p)
arguments.callee.prototype[atr]
c.apply(this ,arguments) ;
}
}

네 번째 방법과 유사하게 두 클래스는 여전히 생성자와 프로토타입 객체를 사용하여 정의됩니다.

코드 복사 코드는 다음과 같습니다.
//Constructor
function Person( name) {
this.name = name;
}
//Prototype 객체
var proto = {
getName : function(){return this.name},
setName : function( name){this.name = name;}
}
//두 개의 클래스 정의
var Man = $define(Person,proto)
var Woman = $define(Person,proto ) ;
console.log(Man == Woman); //false, 동일한 생성자(Person)가 다른 클래스를 정의함

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