0

JavaScriptで簡単なことを試してみました

name = 'velu' 
fname = name
name = 'valu'
console.log(fname) // would still print as velu...

生成されたオブジェクトのプロトタイプが変更され、生成されたオブジェクトがまだ古いオブジェクトのコピーを持っている状況をどのように処理しますか..

これが状況です...

function Cat(name){  
this.name = name  
}
var garfield = new Cat('Garfield')
Cat.prototype.greet = function(){
console.log('Meow, I am ' + this.name)
}
function Animal(){}
Cat.prototype = new Animal
Cat.prototype.constructor = Cat 
Animal.prototype.breed = function(){
console.log('Making a new animal!')
return new this.constructor()
}
 var kitty = garfield.breed() // this will not work as it garfield still is pointing to the old prototype object of Cat ...

ありがとう

4

1 に答える 1

3

参照によって渡されるオブジェクトを作成する必要があります。

var name = { Value: 'velu' };
var fname = name;
name.Value = 'valu';
console.log(fname.Value);
于 2012-09-21T18:35:24.467 に答える