Parece que no entiendo el significado de la palabra clave in
en JavaScript.iterando Javascript matrices con el "en" palabra clave
Tenga una mirada en este fragmento de código (http://jsfiddle.net/3LPZq/):
var x = [1,2]
for(i in x){
document.write(x[i]);
}
cuando se ejecuta en el jsFiddle, imprime no sólo los valores contenidos en la matriz, sino también todas las propiedades y métodos del objeto matriz.
Cuando cambio como este (http://jsfiddle.net/4abmt/):
$(document).ready(function(){
var x = [1,2]
for(i in x){
document.write(x[i]);
}});
imprime sólo los valores 1 y 2.
¿Por qué sucede esto? ¿Esto es causado por jQuery o el comportamiento de la palabra clave in
depende de si el documento está completamente cargado o no?
En el primer ejemplo se han seleccionado como Mootools biblioteca (que parece extenderse el prototipo). Si no selecciona ninguna biblioteca, el resultado es: http://jsfiddle.net/fkling/3LPZq/6/. Pero tenga en cuenta que es una mala práctica usar 'for ... in' para iterar sobre las matrices. –