Tutorial JS

JS INICIO JS Introducción JS Dónde Salida JS Declaraciones JS Sintaxis JS Comentarios JS Variables JS JS Vamos Constante JS Operadores JS Aritmética JS Tarea JS Tipos de datos JS Funciones JS Objetos JS Eventos JS Cadenas JS Métodos de cadena JS Búsqueda de cadenas JS Plantillas de cadena JS Números JS Métodos numéricos JS Matrices JS Métodos de matriz JS Clasificación de matriz JS Iteración de matriz JS Constante de matriz JS Fechas JS Formatos de fecha JS Métodos de obtención de fecha JS Métodos de configuración de fechas JS Matemáticas JS JS al azar Booleanos JS Comparaciones JS Condiciones JS Interruptor JS Bucle JS para Bucle JS para entrada Bucle JS para de Bucle JS mientras descanso JS Iterables JS Conjuntos JS Mapas JS JS Tipo de Conversión de tipo JS JS bit a bit JS expresión regular Errores JS Alcance JS JS Elevación Modo estricto JS JS esta palabra clave Función de flecha JS Clases JS JSJSON Depuración JS Guía de estilo JS Prácticas recomendadas de JS Errores JS Rendimiento JS Palabras reservadas de JS

Versiones JS

Versiones JS JS 2009 (ES5) JS 2015 (ES6) JS 2016 JS 2017 JS 2018 JS IE / Borde Historia de JS

Objetos JS

Definiciones de objetos Propiedades del objeto Métodos de objeto Visualización de objetos Accesores de objetos Constructores de objetos Prototipos de objetos Objeto iterables Conjuntos de objetos Mapas de objetos Referencia de objeto

Funciones JS

Definiciones de funciones Parámetros de función Invocación de función Llamada de función Función Aplicar Cierres de funciones

Clases JS

Introducción a la clase Herencia de clase Clase estática

JS asíncrono

Devoluciones de llamada JS JS asíncrono Promesas JS JS asíncrono/espera

JS HTML DOM

Introducción al DOM Métodos DOM Documento DOM Elementos DOM DOM HTML Formularios DOM DOM CSS Animaciones DOM Eventos DOM Oyente de eventos DOM Navegación DOM Nodos DOM Colecciones DOM Listas de nodos DOM

Lista de materiales del navegador JS

Ventana JS Pantalla JS Ubicación de JS Historia de JS Navegador JS Alerta emergente JS Tiempo JS Galletas JS

API web de JS

Introducción a la API web API de formularios web API de historial web API de almacenamiento web API de trabajo web API de búsqueda web API de geolocalización web

JS AJAX

Introducción a AJAX AJAX XMLHttp Solicitud AJAX Respuesta AJAX Archivo XML AJAX AJAXPHP Ajax ASP Base de datos AJAX Aplicaciones AJAX Ejemplos de AJAX

JSJSON

Introducción JSON Sintaxis JSON JSON frente a XML Tipos de datos JSON Análisis JSON Cadena JSON Objetos JSON Matrices JSON Servidor JSON JSONPHP JSONHTML JSON JSONP

JS frente a jQuery

Selectores jQuery HTML de jQuery CSS de jQuery DOM de jQuery

Gráficos JS

Gráficos JS Lienzo JS JS Trazado Gráfico JS.js Gráfico de Google JS JS D3.js

Ejemplos de JS

Ejemplos de JS JS HTML DOM Entrada HTML JS Objetos JS HTML Eventos JS HTML Navegador JS Editor JS Ejercicios JS Prueba JS Certificado JS

Referencias JS

Objetos JavaScript Objetos HTML DOM


JavaScript para bucle


Los bucles pueden ejecutar un bloque de código varias veces.


Bucles JavaScript

Los bucles son útiles si desea ejecutar el mismo código una y otra vez, cada vez con un valor diferente.

A menudo, este es el caso cuando se trabaja con matrices:

En lugar de escribir:

text += cars[0] + "<br>";
text += cars[1] + "<br>";
text += cars[2] + "<br>";
text += cars[3] + "<br>";
text += cars[4] + "<br>";
text += cars[5] + "<br>";

Puedes escribir:

for (let i = 0; i < cars.length; i++) {
  text += cars[i] + "<br>";
}

Diferentes tipos de bucles

JavaScript admite diferentes tipos de bucles:

  • for - recorre un bloque de código varias veces
  • for/in - recorre las propiedades de un objeto
  • for/of - recorre los valores de un objeto iterable
  • while - recorre un bloque de código mientras una condición específica es verdadera
  • do/while - también recorre un bloque de código mientras una condición específica es verdadera

El bucle For

El forbucle tiene la siguiente sintaxis:

for (statement 1; statement 2; statement 3) {
  // code block to be executed
}

La declaración 1 se ejecuta (una vez) antes de la ejecución del bloque de código.

La declaración 2 define la condición para ejecutar el bloque de código.

La declaración 3 se ejecuta (todas las veces) después de que se haya ejecutado el bloque de código.

Ejemplo

for (let i = 0; i < 5; i++) {
  text += "The number is " + i + "<br>";
}

Del ejemplo anterior, puedes leer:

La declaración 1 establece una variable antes de que comience el bucle (sea i = 0).

La declaración 2 define la condición para que se ejecute el bucle (debe ser menor que 5).

La declaración 3 aumenta un valor (i++) cada vez que se ejecuta el bloque de código en el ciclo.



Declaración 1

Normalmente usará la instrucción 1 para inicializar la variable utilizada en el bucle (sea i = 0).

Este no es siempre el caso, a JavaScript no le importa. La declaración 1 es opcional.

Puede iniciar muchos valores en la declaración 1 (separados por comas):

Ejemplo

for (let i = 0, len = cars.length, text = ""; i < len; i++) {
  text += cars[i] + "<br>";
}

Y puede omitir la declaración 1 (como cuando sus valores se establecen antes de que comience el ciclo):

Ejemplo

let i = 2;
let len = cars.length;
let text = "";
for (; i < len; i++) {
  text += cars[i] + "<br>";
}

Declaración 2

A menudo, la declaración 2 se usa para evaluar la condición de la variable inicial.

Este no es siempre el caso, a JavaScript no le importa. La declaración 2 también es opcional.

Si la declaración 2 devuelve verdadero, el bucle comenzará de nuevo, si devuelve falso, el bucle terminará.

Si omite la declaración 2, debe proporcionar un descanso dentro del ciclo. De lo contrario, el ciclo nunca terminará. Esto bloqueará su navegador. Lea acerca de los descansos en un capítulo posterior de este tutorial.


Declaración 3

A menudo, la declaración 3 incrementa el valor de la variable inicial.

Este no es siempre el caso, a JavaScript no le importa, y la declaración 3 es opcional.

La declaración 3 puede hacer cualquier cosa como un incremento negativo (i--), un incremento positivo (i = i + 15) o cualquier otra cosa.

La declaración 3 también se puede omitir (como cuando incrementa sus valores dentro del ciclo):

Ejemplo

let i = 0;
let len = cars.length;
let text = "";
for (; i < len; ) {
  text += cars[i] + "<br>";
  i++;
}

Alcance de bucle

Usando varen un bucle:

Ejemplo

var i = 5;

for (var i = 0; i < 10; i++) {
  // some code
}

// Here i is 10

Usando leten un bucle:

Ejemplo

let i = 5;

for (let i = 0; i < 10; i++) {
  // some code
}

// Here i is 5

En el primer ejemplo, usando var, la variable declarada en el bucle vuelve a declarar la variable fuera del bucle.

En el segundo ejemplo, usando let, la variable declarada en el bucle no vuelve a declarar la variable fuera del bucle.

Cuando letse usa para declarar la variable i en un ciclo, la variable i solo será visible dentro del ciclo.


Bucles for/of y for/in

El for/inbucle y el for/ofbucle se explican en el próximo capítulo.


Mientras bucles

El whilebucle y el do/whilese explican en los próximos capítulos.


Ponte a prueba con ejercicios

Ejercicio:

Cree un ciclo que vaya de 0 a 9.

let i;
 ( = ;  < ; ) {
  console.log(i);
}