Par exemple:
Il y a un morceau de code comme celui-ci:
La copie de code est la suivante:
var array = [];
array.push (1);
array.push (2);
array.push (3);
pour (var i dans le tableau) {
console.log (i + ":" + array [i]);
}
Qu'est-ce qui sera sorti pour le moment? Bien sûr, il est 0: 1 1: 2 2: 3
Mais si vous ajoutez array.prototype.say = "bonjour" avant in in;
Quelle sera la sortie lors de l'exécution?
La copie de code est la suivante:
0: 1 1: 2 2: 3 dit: Bonjour
Voir, pour le moment, il sortira les propriétés du prototype
Dans de nombreux cas, nous n'avons pas besoin de traverser les propriétés de son prototype. Alors, filtrons les propriétés de notre objet.
La copie de code est la suivante:
pour (var i dans le tableau) {
if (array.hasownproperty (i)) {
console.log (i + ":" + array [i]);
}
}
Pensez à ce qui sera la sortie maintenant? Bien sûr, il est 0: 1 1: 2 2: 3.