English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

tutorial básico do JavaScript

objeto do JavaScript

função do JavaScript

DOM HTML JS

BOM do navegador JS

Tutorial básico do AJAX

Manual de referência do JavaScript

Loop For do JavaScript

O loop é usado em programação para executar automaticamente tarefas repetitivas.

Por exemplo, suponhamos que queremos imprimir " Hello World" 10vezes. Pode ser feito da seguinte forma:

  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>");

No loop, a instrução deve ser escrita apenas uma vez, e o loop será executado10vezes, conforme mostrado a seguir:

for (let i = 0; i < 10; i++) {
document.write("Hello World<br>");
}
Teste para ver‹/›

Loop For

a sintaxe do loop for é a seguinte:

for (inicialização; condição; final-expressão) {
    //instrução a ser executada
}

inicializaçãoantes de executar a instrução (uma vez).

condiçãodefinindo a condição de execução da instrução.

após a execução da instrução, sempre será executadofinal-expressão.

for (var i = 0; i < 5; i++) {
    document.write("<br>O número é " + i);
}
Teste para ver‹/›

No exemplo acima, você pode ler:

  • inicialização definindo a variável antes do início do loop (variável i = 0).

  • condição definindo a condição de execução do loop (eu devo ser menor que5)

  • cada vez que o bloco de código no loop for executado,final-expressãoadicionar um valor (i ++)

Neste exemplo a seguir, vamos percorrer um array em ordem crescente:

var fruits = ['Apple', 'Mango', 'Banana', 'Orange'];
var txt = '';
for (var i = 0; i < fruits.length; i++) {
    txt += fruits[i] + '<br>';
}
Teste para ver‹/›

在下面的示例中,我们以降序循环遍历一个数组:

var fruits = ['Apple', 'Mango', 'Banana', 'Orange'];
var txt = '';
for (var i = fruits.length -1; i >= 0; i--) {
txt += fruits[i] + '<br>';
}
Teste para ver‹/›

可选表达式

for循环中的三个表达式都是可选的。例如,我们可以通过在循环外部初始化变量来编写相同的For语句,而不需要初始化表达式。

//在循环外声明变量
var i = 0;
//初始化循环
for (; i < 5; i++) {
document.write(i);
}
Teste para ver‹/›

在这种情况下,第一个; 表示该语句是指向初始化,条件还是最终表达式,即使省略它也是必要的。

下面,我们还可以从循环中删除条件。我们将使用一个if语句和break来告诉循环在i大于3时停止运行,这与true条件相反。

//在循环外声明变量
var i = 0;
//省略初始化和条件
for (; ; i++) {
if (i > 3) {
break;
}
document.write(i);
}
Teste para ver‹/›

注意:break如果省略该条件,则必须包含该语句,否则循环将永远无限循环运行,并可能导致浏览器崩溃。

最后,可以通过将最终表达式放在循环末尾来将其删除。两个分号仍必须包含在内,否则循环将无法运行。

//在循环外声明变量
var i = 0;
//省略所有表达式
for (; ; ) {
if (i > 3) {
break;
}
document.write(i);
i++;
}
Teste para ver‹/›

从上面的示例可以看出,包括所有这三个语句通常会产生最简洁易读的代码。但是,知道以后可以省略语句是很有用的。

嵌套循环

您可以嵌套循环,即在另一个循环内循环。

嵌套循环在矩阵乘法中的大多数地方都使用,显示表格和许多其他地方:

var txt = "";
for (var row = 0; row < 10; row++) {
   for (var col = 0; col < row; col++) {
   txt += "" * ";
   }
   txt += "<br>";
}
Teste para ver‹/›

For ...in循环

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);
}
Teste para ver‹/›

Em cada iteração, uma propriedade vinda do objeto é atribuída ax,E este ciclo continua até que todas as propriedades do objeto sejam esgotadas.

O exemplo a seguir implementa um loop for...in e imprime as propriedades do navegador da Web.NavigatorObjeto:

for (let x in navigator) {
document.write(x);
}
Teste para ver‹/›

Ciclo For...Of

A sentença for...of cria um loop para percorrer objetos iteráveis, incluindo: String nativo, Array, objetos semelhantes a Array e objetos iteráveis definidos pelo usuário.

let iterable = [10, 20, 30, 40, 50];
for (let x of iterable) {
document.write(x);
}
Teste para ver‹/›

Em cada iteração, uma elemento vindo do objeto é atribuído ax,E este ciclo continua até que todos os elementos do objeto sejam esgotados.

Independentemente do que o for...in e o for...of itera, a principal diferença entre eles está no conteúdo que eles iteram:

  • O loop for...in itera as propriedades enumeradas do objeto, em qualquer ordem

  • O loop for...of itera dados, o objeto iterado deve ser definido para ser percorrido

Ciclo While

O ciclo while e o do...while serão explicados no próximo capítulo.