는 평소 같이, (여러 대신 동일한 코드를 갖는의) 여러 인스턴스가 동일한 코드를 참조하도록 상기 .prototype
속성 생성자 함수 연장 그러나언제 javascript가 생성자에서 사용되는 함수를 참조합니까?
function Effect(){}
Effect.prototype.run = function(){}
인해 내 현재 프로젝트의 구조, 효과 옵션,
effects
객체를 정의합니다 : 나는 같은 것을 할 싶습니다
var effects = {
e1 : {
run: function(){console.log(this);}
},
e2 : {
run: function(){console.log(this);}
}
}
하는 사용 효과 인스턴스를 작성 O bject
function Effect(effect) {
this.run = effect.run;
}
지금 나는
.run
기능을 여러 번 정의 될 경우 내가 걱정하지만 여러 인스턴스 (아마도 수백)
var E1 = new Effect(effects.e1);
var E2 = new Effect(effects.e2);
var E3 = new Effect(effects.e2);
.....
을 만들 수있는 정의.
이러한 새 인스턴스는 동일한 함수 (effects
개체에 정의 됨)를 참조합니까, 아니면 메모리 공간을 사용하여 각 인스턴스에 대해 새로운 '로컬'함수를 만들지 않습니까?
확실하지 않지만 'run : functionRun1' 참조를 전달할 수 있습니다. – Jonathan