¿Debo usar var en el for en la construcción?
Hago uso de un for for loop en una pieza de lógica de JavaScript. ¿Debo usar la palabra clave var o no?
Cuando ejecuto un bucle for-in según el ejemplo de W3School, sin la var, como efecto secundario, se define como una propiedad en el ámbito global (ventana):
(function () {
var object = {
a: 1,
b: 2
}
for (varName in object) {
alert(varName + " is" + object[varName])
}
})();
alert(window.varName) //Returns "b" !
//This returns undefined when the for-in is rewritten as for (var varName in object).
edición: aquí hay un violín del código anterior para su disfrute:http://jsfiddle.net/94uEh/
¿Cuál es la forma correcta, preferida? - Tenga en cuenta que deseo admitir IE 8 (EcmaScript <5)