Очень простой код, чтобы проиллюстрировать разницу.
var x = [0, 3, 1, 2];
console.debug('debug', x);
console.log('log', x);
// above display the same result
x.splice(1, 2);
// below display kind of a different result
console.debug('debug', x);
console.log('log', x);
alt text http://sixbytesunder.com/stuff/firebug_console.png
Значение javascript точно такое же, но console.log() отображает его немного иначе, чем перед применением метода splice()
. Из-за этого я потерял несколько часов, поскольку я думал, что сращивание играет смешно, делая мой массив многомерным или чем-то.
Я просто хочу знать, почему это так работает. Кто-нибудь знает?:)