さて、これが私がやりたいことの基本です:
var Hi = function(name){
this.name = name;
};
Hi.prototype = {
message: function(){
$('body').append('Hi '+this.name);
}
};
var hi = new Hi('There ');
これは問題なく動作しますが、「バイ」と言うように変更できるように、コピーしたいと思います。
var Bye = Hi;
Bye.prototype.message = function(){
$('body').append('Bye '+this.name);
};
var bye = new Bye('There');
それで、Hi There Bye There
私はこれがうまくいくはずだと思ったの出力を得るために:
hi.message();
bye.message();
しかし、代わりに、出力はBye There Bye There
別名私の変更が元のオブジェクトを上書きします。
どうすればこれを期待どおりに機能させることができますか?jQuery / jQuery UIソリューションは問題ありませんが、バニラバージョンとjQueryバージョンの両方に何が起こっているのかを理解してもらいたいことに注意してください。
私のコードのjsFiddle:http: //jsfiddle.net/YGa7p/