No he hecho una programación de JavaScript seria en un tiempo, y estoy escribiendo una guía de introducción al idioma para algunos de mis colegas. Me gustaría analizar las mejores prácticas de bucle, pero hay un pequeño detalle que he guardado en la parte posterior de mi cabeza:JavaScript "for (var i = 0; ...) {...}" incompatibilidades del navegador?
Al hacer un bucle sobre matrices, recuerdo que el siguiente patrón no es seguro de usar porque hay grandes los navegadores que no soportan:
for (var i = 0; i < ls.length; i++) { ... }
En cambio, la palabra clave var debe moverse fuera de la matriz, tales como:
var i;
for (i = 0; i < ls.length; i++) { ... }
es esto correcto? Revisé la red y no puedo confirmarlo. ¿Algunos navegadores antiguos no son compatibles con el primer método? Si no, ¿cuáles no?
Personalmente, no se me ocurre ningún navegador en el que falle el primer ejemplo. –
Ningún navegador de uso común en 2012 no admite ninguno de estos. Son exactamente lo mismo. (Cuando digo "uso común" me refiero a usado por más de uno o dos casos periféricos, tal vez alguien está ejecutando Netscape 3 en alguna parte, pero se da cuenta y Netscape 3 probablemente funcionó) – Pointy
¿Qué edad busca obtener? ¿Estamos hablando de Netscape e IE3 o se refiere al marco de tiempo de IE7? – webdad3