comment boucle par fonctions JavaScript membres Array, le code suivant ne fonctionne pas :(JavaScript réflexion Array
for (var i in Array.prototype){
alert(i)
} //show nothing
for (var i in []){
alert(i)
} // show nothing
comment boucle par fonctions JavaScript membres Array, le code suivant ne fonctionne pas :(JavaScript réflexion Array
for (var i in Array.prototype){
alert(i)
} //show nothing
for (var i in []){
alert(i)
} // show nothing
Aucun des propriétés prototypal natives sont énumérables, mais vous pouvez trouver exactement ce que vous cherchez dans la spécification ECMA:
http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf
vous ne pouvez énumérer e propriétés brutes que vous avez définie, par exemple:
Object.prototype.foo = function(){};
x = {};
for (var prop in x) {
alert(prop);
}
alerterait:
foo
Une autre astuce utile est que vous pouvez utiliser object.hasOwnProperty(property)
dans une for..in loop
à la branche que si l'objet directement possède une propriété, et la propriété ne descend pas du prototype du constructeur, dont tous les objets descendent à peu près de Object.prototype
.
Vous boucle ne peut pas par des méthodes natives.