JavaScript 다양한 방법 구현 클래스
5010 단어 JavaScript
구조 방법
function coder()
{
this.name = ' ';
this.job = 'Web ';
this.coding = function ()
{ alert(' '); }
}
var coder = new coder();
alert(coder.name);
coder.coding();
공장 방법
function createCoderFactory()
{
var obj = new Object();
obj.name = ' ';
obj.job = ' ';
obj.coding = function ()
{
alert(' ');
};
return obj;
}
var coder = createCoderFactory();
alert(coder.name);
coder.coding();
공장 방법 과 구조 방법 은 모두 같은 단점 을 가지 고 있다.즉,하나의 인 스 턴 스 를 만 들 때마다 이러한 함수 들 을 예화 하 는 것 이다.
원형 체인
function coder(){}
coder.prototype.name = ' ';
coder.prototype.job = ' ';
coder.prototype.coding = function(){
alert(' ');
};
var coder = new coder();
alert(coder.name);
coder.coding();
프로 토 타 입 체인 은 모든 속성 을 공유 하고 하나의 인 스 턴 스 가 바 뀌 면 다른 것 이 달라 진 다 는 단점 이 있다.예:
var coder1 = new coder();
var coder2 = new coder();
alert(coder1.name); /* */
coder2.name = 'nowamagic';
alert(coder1.name); /* nowamagic*/
alert(coder2.name); /* nowamagic*/
혼합 방식
상기 세 가 지 는 모두 각자 의 결점 을 가지 고 있 기 때문에 우 리 는 개선 해 야 한다.
function coder()
{
this.name = ' ';
this.job = ' ';
}
coder.prototype.coding = function(){
alert(' ');
};
동적 체인
앞의 세 가지 결점 을 해결 하려 면 또 하나의 방법 이 있다.
function coder()
{
this.name = ' ';
this.job = ' ';
if (typeof(coder._init) == 'undefined')
{
this.coding = function ()
{
alert(' ');
};
this._init = true;
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
기초 정리 - 1문자 (String) 숫자 (Number) 불린 (Boolean) null undefined 심볼 (Symbol) 큰정수 (BigInt) 따옴표로 묶어 있어야 함 Not-A-Number - 숫자 데이터 / 숫자로 표...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.