English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Der Loop wird in der Programmierung verwendet, um wiederholte Aufgaben automatisch auszuführen.
Zum Beispiel, nehmen wir an, dass wir "Hello World" drucken möchten 10mal ausgeführt. Dies kann wie folgt erfolgen:
document.write("Hello World<br>"); document.write("Hello World<br>"); document.write("Hello World<br>"); document.write("Hello World<br>"); document.write("Hello World<br>"); document.write("Hello World<br>"); document.write("Hello World<br>"); document.write("Hello World<br>"); document.write("Hello World<br>"); document.write("Hello World<br>");
In der Schleife muss der Satz nur einmal geschrieben werden, und die Schleife wird10mal, wie folgt dargestellt:
for (let i = 0; i < 10; i++) { document.write("Hello World<br>"); }Testen Sie, um zu sehen,‹/›
Die Syntax des for-Loops ist wie folgt:
for (initialization; condition; final-expression) { //Der auszuführende Satz }
InitialisierungWird vor dem Ausführen des Satzes ausgeführt (einmal).
BedingungDie Bedingung für die Ausführung des Satzes wurde definiert.
Wird nach dem Ausführen des Satzes immer ausgeführtfinal-Ausdruck.
for (var i = 0; i < 5; i++) { document.write("<br>The number is " + i); }Testen Sie, um zu sehen,‹/›
Aus dem obigen Beispiel können Sie lesen:
Initialisierung Setzen Sie die Variablen vor dem Start des Loops (Variable i = 0).
Bedingung Die Bedingung für die Ausführung des Loops wurde definiert (ich muss kleiner sein5)
Jedes Mal, wenn der Codeblock im Loop ausgeführt wird,final-Die Ausdrücke werdenWert erhöhen (i ++)
In den folgenden Beispielen durchlaufen wir eine Array in aufsteigender Reihenfolge:
var fruits = ['Apple', 'Mango', 'Banana', 'Orange']; var txt = \ for (var i = 0; i < fruits.length; i++) { txt += fruits[i] + '<br>'; }Testen Sie, um zu sehen,‹/›
在下面的示例中,我们以降序循环遍历一个数组:
var fruits = ['Apple', 'Mango', 'Banana', 'Orange']; var txt = \ for (var i = fruits.length -1; i >= 0; i--) { txt += fruits[i] + '<br>'; }Testen Sie, um zu sehen,‹/›
for循环中的三个表达式都是可选的。例如,我们可以通过在循环外部初始化变量来编写相同的For语句,而不需要初始化表达式。
//在循环外声明变量 var i = 0; //初始化循环 for (; i < 5; i++) { document.write(i); }Testen Sie, um zu sehen,‹/›
在这种情况下,第一个; 表示该语句是指向初始化,条件还是最终表达式,即使省略它也是必要的。
下面,我们还可以从循环中删除条件。我们将使用一个if语句和break来告诉循环在i大于3时停止运行,这与true条件相反。
//在循环外声明变量 var i = 0; //省略初始化和条件 for (; ; i++) { if (i > 3) { break; } document.write(i); }Testen Sie, um zu sehen,‹/›
注意:break如果省略该条件,则必须包含该语句,否则循环将永远无限循环运行,并可能导致浏览器崩溃。
最后,可以通过将最终表达式放在循环末尾来将其删除。两个分号仍必须包含在内,否则循环将无法运行。
//在循环外声明变量 var i = 0; //省略所有表达式 for (; ; ) { if (i > 3) { break; } document.write(i); i++; }Testen Sie, um zu sehen,‹/›
从上面的示例可以看出,包括所有这三个语句通常会产生最简洁易读的代码。但是,知道以后可以省略语句是很有用的。
您可以嵌套循环,即在另一个循环内循环。
嵌套循环在矩阵乘法中的大多数地方都使用,显示表格和许多其他地方:
var txt = ""; for (var row = 0; row < 10; row++) { for (var col = 0; col < row; col++) { txt += "" * "; } txt += "<br>"; }Testen Sie, um zu sehen,‹/›
for...in循环迭代的对象的属性。
为了演示,我们将创建一个简单的myObj对象,其中包含一些name:value对。
var myObj = { name: "VISHAL", age: 22, height: 175, city: "New Delhi", getNothing: function () { return ""; } }; for (let x in myObj) { document.write(x); }Testen Sie, um zu sehen,‹/›
In jeder Iteration wird ein Attribut aus dem Objekt einemx,Und dieser Zyklus setzt sich fort, bis alle Attribute des Objekts aufgebraucht sind.
Nachfolgender Beispielcode implementiert einen for...in-Zyklus und gibt die Attribute des Webbrowser-Navigators aus.NavigatorObjekt:
for (let x in navigator) { document.write(x); }Testen Sie, um zu sehen,‹/›
Das for...of-Statement erstellt einen Zyklus, der durch einen iterierbaren Objekt geprüft wird, einschließlich: eingebauter String, Array, Arrayähnliche Objekte und benutzerdefinierte iterierbare Objekte.
let iterable = [10, 20, 30, 40, 50]; for (let x of iterable) { document.write(x); }Testen Sie, um zu sehen,‹/›
In jeder Iteration wird ein Element aus dem Objekt einemx,Und dieser Zyklus setzt sich fort, bis alle Elemente des Objekts aufgebraucht sind.
Egal, was for...in und for...of iterieren, der Hauptunterschied zwischen ihnen liegt in dem, was sie iterieren:
for...in-Schleife iteriert über die Enumerationseigenschaften des Objekts, in beliebiger Reihenfolge
for...of-Schleife iteriert über Daten, die iteriert werden sollen
Die while-Schleife und die do...while-Schleife werden im nächsten Kapitel erläutert.