Reputation: 8297
I just tried something simple in javascript
name = 'velu'
fname = name
name = 'valu'
console.log(fname) // would still print as velu...
how do you handle situation where you generated objects prototype is changed and the generated object still has a copy of the old object..
Here is the situation ...
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 ...
thanks
Upvotes: 0
Views: 213
Reputation: 91666
You'd have to make an object, which is passed around by reference:
var name = { Value: 'velu' };
var fname = name;
name.Value = 'valu';
console.log(fname.Value);
Upvotes: 2