1
J'ai créer objet likLes variables définies dans le prototype sont-elles partagées entre les objets?
e this
testObj.prototype = {
cVar: 15,
init: function(c){
/*initialization code*/
this.cVar = c;
}
};
var a = new testObj(10);
var b = new testObj(20);
Maintenant, les valeurs des deux CVar objet est 20. Est-ce qu'ils partagent la variable? Comment puis-je obtenir une variable séparée pour chaque objet?
comment accéder à ce.notShared? à l'intérieur de prototype.init? – coure2011
'this.notShared', mais vous devez appeler le constructeur avant d'appeler' init'. –
Cet exemple est légèrement déroutant. 'var o1 = nouveau Ctor(); var o2 = nouveau Ctor(); o1.shared + = 1; console.log ("o1.shared =" + o1.shared + ", o2.shared =" + o2.shared); 'donne' o1.shared = 3, o2.shared = 2'. Je sais que c'est évident, mais le sens ** partagé ** ne ressort pas de cet exemple. Ce serait mieux si l'exemple démontrait l'état partagé en utilisant 'Ctor.prototype.shared = {}' –