Неявно глобальная переменная «item» - разница между Internet Explorer и FireFox

Просто из любопытства..

У меня есть этот код JS:

var someExternalArray = [{id: 1, name: 'a'}, {id: 2, name: 'b'}, {id: 3, name: 'c'}];
var newArray = []

//var item;
for (var i = 0; i < someExternalArray.length; i++){
    item = new Object();
    item.id = someExternalArray[i].id;
    item.name = someExternalArray[i].name;
    newArray.push(item);
}

alert('0:' + newArray[0].name + ',1:' + newArray[1].name + ',2:' + newArray[2].name);

Обратите внимание на комментарийvar item который выходит из цикла с неявно объявленнымitem переменная.

Если я запускаю этот код в FireFox, результат предупреждения:0:a,1:b,2:c

Если я запускаю тот же код в Internet Explorer, результат:0:c,1:c,2:c

Вот jsfiddle:https://jsfiddle.net/fvu9gb26/

Конечно, когда я раскомментируюvar item это работает одинаково в каждом браузере.

Кто-нибудь знает, почему возникает такая разница? Спасибо.

Ответы на вопрос(2)

Ваш ответ на вопрос