これが心配な場合は、プロトタイプに混入することもできますが、Bergi が言うように。メソッドを何度も呼び出すと、プロトタイプではなくインスタンスにメソッドがある場合、実際にはルックアップが短くなります。
プロトタイプでミックスインする方法は次のとおりです。
function mixin(source, target){
for(thing in source){
if(source.hasOwnProperty(thing)){
target[thing]=source[thing];
}
}
};
var canSpeak = function(){
//initialize instance specific values
this.canSpeakMessage="Hello World";
this.someArrayThatNeedsToBeInitialized=[];
};
canSpeak.prototype.speak = function(){
console.log(this.canSpeakMessage);
}
var Test= function(){
//init instance specific values for canSpeak
canSpeak.apply(this,arguments);
};
mixin(canSpeak.prototype,Test.prototype);
var t = new Test();
t.speak();//=Hello World