JavaScript-это буквальный язык сценариев, который представляет собой динамичный, слабый язык, основанный на прототипах со встроенными типами поддержки. Его переводчик называется двигателем JavaScript. Он является частью браузера и широко используется на языке сценариев клиента. Сначала он использовался на веб -страницах HTML (приложение в рамках стандартного универсального языка разметки) для добавления динамических функций на веб -страницы HTML.
JavaScript родился более 20 лет, и метод, который мы использовали для цикла массива, заключается в следующем:
for (var index = 0; index <myarray.length; index ++) {console.log (myarray [index]);};};};};Со времен JavaScript5 мы начали использовать встроенный метод Foreach :
myarray.foreach (function (value) {console.log (value);});Метод написания намного проще, но он также имеет свои недостатки: вы не можете прервать цикл (используя операторы или используя операторы.
В JavaScript также есть метод цикла:.
Целевая петля на самом деле предназначена для цикла «перечисляемых» объектов:
var obj = {a: 1, b: 2, c: 3}; for (var prop in obj) {console.log ("obj." + prop + "=" + obj [prop]);} // output: // "obj.a = 1" // "obj.b = 2" // "obj.c = 3"Вы также можете использовать его, чтобы зацикливаться на массиве:
for (var index в myarray) {// this console.log (myarray [index]);}Не рекомендуется использовать для того, чтобы зацикливаться на массиве, потому что, в отличие от объектов, индекс массива отличается от обычных свойств объекта и является важным индикатором численной последовательности.
Короче говоря, для In - это метод, используемый для перехода через объекты с ключами струн.
FORLE-OF LOOP
JavaScript6 представляет новый метод цикла, который представляет собой петлю, который проще традиционно для цикла, и в то же время компенсирует недостатки Foreach и For-In.
Давайте посмотрим на его синтаксис:
для (var value of myarray) {console.log (value);}Синтаксис FORMALE, очень похожий на FOR-In, но он имеет гораздо более богатые функции и может зацикливаться на многих вещах.
Пример использования цикла:
let iterable = [10, 20, 30]; for (let value of iterable) {console.log (value);} // 10 // 20 // 30Вместо этого мы можем использовать его, поэтому он становится немодифицированной статической переменной в цикле.
let iterable = [10, 20, 30]; for (const value of iterable) {console.log (value);} // 10 // 20 // 30Перецировать строку:
let iterable = "boo"; for (let value of aterable) {console.log (value);} // "b" // "o" // "o" let iterable = new uint8array ([0x00, 0xff]); для (let value of iterable) {console.log (значение);}// 0// 255let iterable = newable = newerable = newerable = ",", 1, ", 1,", 1, ",", ", 1,", ", 1,", ",", ", 1,". ["b", 2], ["c", 3]]);for (let [key, value] of iterable) {console.log(value);}// 1// 2// 3for (let entry of iterable) {console.log(entry);}// [a, 1]// [b, 2]// [c, 3]let iterable = new Set([1, 1, 2, 2, 3, 3]); for (let value of iterable) {console.log (value);} // 1 // 2 // 3Обеспечить коллекцию DOM
Цикть коллекций DOM, таких как Nodelist. Мы обсуждали, как зацикливаться на узле, раньше. Теперь это удобно, вы можете напрямую использовать петлю:
// Примечание. Это будет работать только на платформах, в которых // реализовано Nodelist.prototype [symbol.iterator] Let articleParagraphs = document.queryselectorall ("article> p"); for (let faracraph of articleparachs) {paragraph.classlist.add ("Читать");}Целью объекта с перечисленным атрибутом
Цикл FOROF не может быть использован непосредственно на обычных объектах, но если мы зацикливаемся на свойствах, которые есть у объекта, мы можем использовать метод встроенного объекта.keys ():
for (var key of object.keys (someobject)) {console.log (key + ":" + cheobject [key]);}Цикть генератора
Мы можем пройти через генератор:
Функция* fibonacci () {// a a Generator function [prev, curr] = [0, 1]; while (true) {[prev, curr] = [curr, prev + curr]; gilt curr;}} для (let n fibonacci ()) {console.log (n); // усечь последовательность в 1000if (n> = 1000).