Есть два способа пройти массивы в JS
Кода -копия выглядит следующим образом:
var array = ['a']
// Стандарт для петли
for (var i = 1; i <array.length; i ++) {
Блюдо (массив [i])
}
// Foreach Loop
для (var i в массиве) {
Блюдо (массив [i])
}
При нормальных обстоятельствах вышеупомянутые два способа пересечения массива одинаковы. Прежде всего, давайте поговорим о первой разнице между двумя
I в стандарте для цикла имеет тип числа, который представляет собой индекс массива, но I в цикле Foreach представляет собой ключ массива, потому что все в JS является объектом. Попробуйте оповещение (TypeOf I); Эта разница - небольшая проблема. Теперь я добавляю следующий код, и результаты выполнения выше будут разными.
Кода -копия выглядит следующим образом:
// Расширенный js Native Array
Array.prototype.test = function ()
}
Попробуйте увидеть, что выполняет приведенный выше код. Мы обнаружили, что стандарт для цикла все еще является реальным циклом на массивах, но в настоящее время цикл Foreach напечатан из метода испытаний, который я только что написал. Это самая большая разница между массивами и переселением. Если мы используем Foreach для прохождения массивов в проекте, предположим, что есть день, когда кто -то случайно расширяет класс JS нативного массива или представляет внешнюю структуру JS для расширения местного массива. Тогда возникает вопрос.
Еще два очка, чтобы предложить
1. Не используйте для прохождения массива и используйте стандарт для массивов переменных цикла в объединении (мы не можем гарантировать, будет ли введенный нами JS использовать прототип для расширения нативного массива)
2. Если вы хотите расширить нативный класс JS, не используйте прототип