Bonjour à tous,
Voici mon interrogation, j'essaye de la poser de manière simple avec le plus petit code possible
Si quelqu'un maîtrisant bien les concepts des mécanismes internes de javascript pouvait m'éclairer, je lui en serais très reconnaissant.
Je regle le souci en modifiant le code de cette façon :
Mais j'aimerais comprendre pourquoi l'attribut tableau coords ne se réinitialise pas à la construction d'un objet, et récupère la valeur de l'objet précédent ?
Merci beaucoup par avance
Emmanuel
Modifié par manoux (15 Mar 2011 - 15:46)
Voici mon interrogation, j'essaye de la poser de manière simple avec le plus petit code possible
Si quelqu'un maîtrisant bien les concepts des mécanismes internes de javascript pouvait m'éclairer, je lui en serais très reconnaissant.
var point = function() {}
point.prototype = {
libelle : '',
coords : []
}
var p1 = new point();
p1.libelle = 'ceci est mon point 1' ;
p1.coords.push(-3);p1.coords.push(4) ;
var p2 = new point();
alert(p2.libelle) ; //ok-> vide
p2.libelle = 'ceci est mon point 2' ;
p2.coords.push(0);p2.coords.push(1) ;
alert(p1.libelle) ; //ok->ceci est mon point 1
alert(p2.libelle) ; //ok->ceci est mon point 2
alert(p1.coords[0]) ; //ok-> -3
alert(p2.coords[0]) ; //-3 !!! Pourquoi pas 0 ?? Ceci quelque soit le navigateur...
Je regle le souci en modifiant le code de cette façon :
var point = function() {
this.coords = [];
}
Mais j'aimerais comprendre pourquoi l'attribut tableau coords ne se réinitialise pas à la construction d'un objet, et récupère la valeur de l'objet précédent ?
Merci beaucoup par avance
Emmanuel
Modifié par manoux (15 Mar 2011 - 15:46)