Duplicar posibles:
Is Chrome's JavaScript console lazy about evaluating arrays?comportamiento console.log extraño en Chrome Developer Tools
Abran Chrome Developer Tools y escriba:
var a = [];console.log(a);a.push(1);console.log(a);
Usted haría esperar que esto produzca algo como
[]
[1]
Pero en vez emite
[1]
[1]
El comportamiento es el mismo para
var a = [];console.log(a);a[0] = 1;console.log(a);
Puede alguien explicar este comportamiento?
con Chrome en OS X. mismo comportamiento en Windows de 32 bits 7.
EDITAR: El comportamiento es el mismo, independientemente de si los estados están en la misma línea o no. Simplemente los he proporcionado en una sola línea para que sea fácil de probar.
Poner
var a = [];
console.log(a);
a.push(1);
console.log(a);
en un archivo y luego ejecutarlo produce el mismo comportamiento.
EDITAR x 2 Ver: http://jsfiddle.net/9N4A6/ Si no tiene ganas de hacer un archivo para probar.
Mi suposición es que las llamadas a 'consola. log (a) 'pone en cola el objeto de la matriz para imprimir, pero que la conversión de la matriz a cadena ocurre solo después de que se completa la línea. – Pointy
@CMS: No vi eso - gracias –
De nada @Jamie :) – CMS