Несоответствие между Google Chrome и Firefox - PullRequest
4 голосов
/ 01 октября 2011

Я получаю разные результаты для этой скрипки в Google Chrome (14.0.835.186) и Firefox (6.0.2).

Кто-нибудь может объяснить несоответствие? Какое поведение определяется спецификациями?

РЕДАКТИРОВАТЬ : в Firefox я вижу [0], [0, 1] и т. Д. В Chrome я вижу [0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4] и т. Д.

Я использую Mac OS 10.6.8.

Ответы [ 3 ]

3 голосов
/ 01 октября 2011

См:

Это странное поведение или консоль, хотя я не могу сказать вам, почему.

Редактировать: Просто чтобы убедиться, что это понятно, это «ошибка» только в консоли, нет проблем с тем, как создаются массивы в Chrome.

3 голосов
/ 01 октября 2011

Firefox более технически корректен в этом случае, поскольку он выводит состояние объекта в каждой точке цикла, тогда как Chrome, очевидно, ожидает до конца цикла, чтобы вывести каждый файл console.log, но я не в курсеспецификация стандартов, которая охватывает объект хоста консоли.

См. этот jsFiddle: http://jsfiddle.net/jfriend00/LRGP2/, чтобы показать, что это только console.log, который имеет такое странное поведение.

2 голосов
/ 01 октября 2011

Вы регистрируете живой объект .

Попробуйте приведенный ниже код ( fiddle ) и увидите разницу:

var i, test = [];

for(i=0; i<5; i++) {
    test.push(i);
    console.log( test.toString() ); // notice .toString() addition
}

BtwТот же и отягчающий пример можно увидеть в Opera Dragongfly - массивы даже можно нажимать и расширять.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...