<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
	<id>https://manuais.iessanclemente.net/index.php?action=history&amp;feed=atom&amp;title=Condiciones_y_bucles_en_JavaScript</id>
	<title>Condiciones y bucles en JavaScript - Historial de revisiones</title>
	<link rel="self" type="application/atom+xml" href="https://manuais.iessanclemente.net/index.php?action=history&amp;feed=atom&amp;title=Condiciones_y_bucles_en_JavaScript"/>
	<link rel="alternate" type="text/html" href="https://manuais.iessanclemente.net/index.php?title=Condiciones_y_bucles_en_JavaScript&amp;action=history"/>
	<updated>2026-10-21T08:03:55Z</updated>
	<subtitle>Historial de revisiones de esta página en la wiki</subtitle>
	<generator>MediaWiki 1.46.2</generator>
	<entry>
		<id>https://manuais.iessanclemente.net/index.php?title=Condiciones_y_bucles_en_JavaScript&amp;diff=69782&amp;oldid=prev</id>
		<title>Vieites: /* Detener la ejecución de bucles y condicionales */</title>
		<link rel="alternate" type="text/html" href="https://manuais.iessanclemente.net/index.php?title=Condiciones_y_bucles_en_JavaScript&amp;diff=69782&amp;oldid=prev"/>
		<updated>2021-09-22T16:57:17Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Detener la ejecución de bucles y condicionales&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nueva&lt;/b&gt;&lt;/p&gt;&lt;div&gt;En los lenguajes de programación, las instrucciones que te permiten controlar las decisiones y bucles de ejecución, se denominan &amp;quot;Estructuras de Control&amp;quot;. Una estructura de control, dirige el flujo de ejecución a través de una secuencia de instrucciones, basadas en decisiones simples y en otros factores.&lt;br /&gt;
&lt;br /&gt;
Una parte muy importante de una estructura de control es la “condición”. Cada condición es una expresión que se evalúa a &amp;#039;&amp;#039;&amp;#039;true&amp;#039;&amp;#039;&amp;#039; o &amp;#039;&amp;#039;&amp;#039;false&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
JavaScript ofrece un total de cuatro instrucciones para procesar código de acuerdo a condiciones determinadas por el programador: &amp;#039;&amp;#039;&amp;#039;if&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;switch&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;for&amp;#039;&amp;#039;&amp;#039; y &amp;#039;&amp;#039;&amp;#039;while&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Instrucción if ==&lt;br /&gt;
La decisión más simple que podemos tomar en un programa, es la de seguir una rama determinada si una condición es &amp;#039;&amp;#039;&amp;#039;true&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
var mivariable = 9;&lt;br /&gt;
if(mivariable &amp;lt; 10) {&lt;br /&gt;
    alert(&amp;quot;El número es menor que 10&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como vimos, los operadores de comparación disponibles en JavaScript son: &amp;#039;&amp;#039;&amp;#039;=== == != &amp;gt; &amp;lt; &amp;gt;= &amp;lt;=&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Después de evaluar una condición, ésta devuelve un valor lógico verdadero o falso.&lt;br /&gt;
&lt;br /&gt;
Y, para combinar condiciones y crear condiciones complejas podemos emplear los siguientes operadores lógicos: &amp;#039;&amp;#039;&amp;#039;!&amp;#039;&amp;#039;&amp;#039; (negación), &amp;#039;&amp;#039;&amp;#039;&amp;amp;&amp;amp;&amp;#039;&amp;#039;&amp;#039; (y) y &amp;#039;&amp;#039;&amp;#039;||&amp;#039;&amp;#039;&amp;#039; (o).&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
//Ejemplo con negación&lt;br /&gt;
var mivariable = 9;&lt;br /&gt;
if(!(mivariable &amp;lt; 10)) {&lt;br /&gt;
	alert(&amp;quot;El número es mayor que 10&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//Ejemplo con &amp;quot;AND&amp;quot;&lt;br /&gt;
var carnetConducir = true;&lt;br /&gt;
var edad = 19;&lt;br /&gt;
if(edad &amp;lt; 21 &amp;amp;&amp;amp; carnetConducir == true) {&lt;br /&gt;
	console.log(&amp;quot;Andrea está autorizada&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
JavaScript también es capaz de determinar una condición basándose en los valores de cualquier variable:&lt;br /&gt;
* Una variable con un número entero devolverá &amp;#039;&amp;#039;&amp;#039;false&amp;#039;&amp;#039;&amp;#039; si el valor es 0.&lt;br /&gt;
* Las variables con cadenas de caracteres vacías también devuelven &amp;#039;&amp;#039;&amp;#039;false&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Si tenemos que ejecutar instrucciones para cada estado de la condición (verdadero o falso) lo haremos con la instrucción &amp;#039;&amp;#039;&amp;#039;if ...  else if  ... else&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
var time = 15&lt;br /&gt;
var saludo&lt;br /&gt;
if (time &amp;lt; 10) {&lt;br /&gt;
    saludo = &amp;quot;Buenos días&amp;quot;;&lt;br /&gt;
} else if (time &amp;lt; 20) {&lt;br /&gt;
    saludo = &amp;quot;Buenas tardes&amp;quot;;&lt;br /&gt;
} else {&lt;br /&gt;
    saludo = &amp;quot;Buenas noches&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
console.log(saludo);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
También podemos ver el uso del operador condicional &amp;#039;&amp;#039;&amp;#039;?:&amp;#039;&amp;#039;&amp;#039; que se puede utilizar como forma abreviada de una sentencia condicional del tipo &amp;#039;&amp;#039;&amp;#039;if...else&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
var ahora = new Date();&lt;br /&gt;
var saludo = &amp;quot;Buenas&amp;quot; + ((ahora.getHours() &amp;gt; 12) ? &amp;quot; tardes.&amp;quot; : &amp;quot; días.&amp;quot;);&lt;br /&gt;
console.log(saludo);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Instrucción switch ==&lt;br /&gt;
Si necesitamos comprobar múltiples condiciones podemos también utilizar la instrucción &amp;#039;&amp;#039;switch&amp;#039;&amp;#039;.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
var mivariable = 8;&lt;br /&gt;
switch(mivariable) {&lt;br /&gt;
	case 5:&lt;br /&gt;
		alert(&amp;quot;El número es cinco&amp;quot;);&lt;br /&gt;
		break;&lt;br /&gt;
	case 8:&lt;br /&gt;
		alert(&amp;quot;El número es ocho&amp;quot;);&lt;br /&gt;
		break;&lt;br /&gt;
	case 10:&lt;br /&gt;
		alert(&amp;quot;El número es diez&amp;quot;);&lt;br /&gt;
		break;&lt;br /&gt;
	default:&lt;br /&gt;
		alert(&amp;quot;El numero es &amp;quot; + mivariable);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Observar la palabra clave &amp;#039;&amp;#039;&amp;#039;break&amp;#039;&amp;#039;&amp;#039; utilizada al final de cada cláusula &amp;#039;&amp;#039;&amp;#039;case&amp;#039;&amp;#039;&amp;#039; en el código. Esta instrucción hace que la ejecución salte al final de una instrucción &amp;#039;&amp;#039;&amp;#039;switch&amp;#039;&amp;#039;&amp;#039; o bucle. Si no existen instrucciones &amp;#039;&amp;#039;&amp;#039;break&amp;#039;&amp;#039;&amp;#039;, una instrucción &amp;#039;&amp;#039;&amp;#039;switch&amp;#039;&amp;#039;&amp;#039; inicia la ejecución de su bloque de código en la etiqueta case que coincide con el valor de su expresión y continúa la ejecución de instrucciones hasta que llega al final del bloque. Raras veces eso sería útil, por lo que no debemos olvidarnos poner siempre un &amp;#039;&amp;#039;&amp;#039;break&amp;#039;&amp;#039;&amp;#039; en cada cláusula &amp;#039;&amp;#039;&amp;#039;case&amp;#039;&amp;#039;&amp;#039; (a no ser que se sustituya por una instrucción &amp;#039;&amp;#039;&amp;#039;return&amp;#039;&amp;#039;&amp;#039; si se utiliza &amp;#039;&amp;#039;&amp;#039;switch&amp;#039;&amp;#039;&amp;#039; dentro de una función).&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
// Función que convierte un valor en una cadena distinta&lt;br /&gt;
//dependiendo del tipo del valor.&lt;br /&gt;
function convert(x) {&lt;br /&gt;
      switch(typeof(x)) {&lt;br /&gt;
        case &amp;#039;number&amp;#039;: //Convierte el número en un entero hexadecimal&lt;br /&gt;
        	return x.toString(16);&lt;br /&gt;
        case &amp;#039;string&amp;#039;: //La devolvemos entre comillas&lt;br /&gt;
        	return &amp;#039;&amp;quot;&amp;#039; + x + &amp;#039;&amp;quot;&amp;#039;;&lt;br /&gt;
        case &amp;#039;boolean&amp;#039;: //Convertir en TRUE o FALSE en mayúsculas&lt;br /&gt;
        	return x.toString().toUpperCase(); &lt;br /&gt;
        default:        //Lo pasa a string en su forma habitual&lt;br /&gt;
        	return x.toString();&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bucles ==&lt;br /&gt;
Los bucles son estructuras repetitivas, que se ejecutarán un número de veces fijado expresamente, o que dependerá de si se cumple una determinada condición.&lt;br /&gt;
&lt;br /&gt;
=== while( ) ===&lt;br /&gt;
Este tipo de bucles se utilizan cuando queremos repetir la ejecución de unas sentencias un número indefinido de veces, siempre que se cumpla una condición. Es más sencillo de comprender que el bucle &amp;#039;&amp;#039;&amp;#039;for&amp;#039;&amp;#039;&amp;#039; (que luego veremos), ya que no incorpora en la misma línea la inicialización de las variables, su condición para seguir ejecutándose y su actualización. Sólo se indica, como veremos a continuación, la condición que se tiene que cumplir para que se realice una iteración o repetición.&lt;br /&gt;
&lt;br /&gt;
Sintaxis:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
while (condición) {&lt;br /&gt;
    // Instrucciones a ejecutar dentro del bucle.&lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ejemplo:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
var i=0;&lt;br /&gt;
while (i &amp;lt;=10) {&lt;br /&gt;
    // Instrucciones a ejecutar dentro del bucle &lt;br /&gt;
    //hasta que i sea mayor que 10 &lt;br /&gt;
    //y ya no se cumpla la condición.&lt;br /&gt;
&lt;br /&gt;
    i++;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== do...while( ) ===&lt;br /&gt;
El tipo de bucle &amp;#039;&amp;#039;&amp;#039;do...while&amp;#039;&amp;#039;&amp;#039; es muy parecido al bucle &amp;#039;&amp;#039;&amp;#039;while( )&amp;#039;&amp;#039;&amp;#039; visto anteriormente. Se utiliza, generalmente, cuando no sabemos el número de  veces que se habrá de ejecutar el bucle. La diferencia con el bucle &amp;#039;&amp;#039;&amp;#039;while( )&amp;#039;&amp;#039;&amp;#039; es que sabemos, seguro, que el bucle por lo menos se ejecutará una vez.&lt;br /&gt;
&lt;br /&gt;
Sintaxis:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
do {&lt;br /&gt;
    // Instrucciones a ejecutar dentro del bucle.&lt;br /&gt;
} while (condición);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ejemplo:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
  //Función que recorre los elementos de un array&lt;br /&gt;
  function printArray(a) {&lt;br /&gt;
    if (a.length == 0) {&lt;br /&gt;
      console.log(&amp;quot;Array vacío&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    else {&lt;br /&gt;
      let i = 0;&lt;br /&gt;
      do {&lt;br /&gt;
        console.log(a[i] + &amp;quot;&amp;lt;br&amp;gt;&amp;quot;);&lt;br /&gt;
      } while (++i &amp;lt; a.length);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  let miArray = [2, 4, 6, 7, 9];&lt;br /&gt;
  printArray(miArray);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== for ===&lt;br /&gt;
La instrucción &amp;#039;&amp;#039;&amp;#039;for&amp;#039;&amp;#039;&amp;#039; proporciona una construcción de bucle que normalmente es más conveniente que la instrucción &amp;#039;&amp;#039;&amp;#039;while&amp;#039;&amp;#039;&amp;#039;. Como sabemos, la inicialización, prueba y actualización son tres manipulaciones cruciales en la variable de un bucle; esta instrucción &amp;#039;&amp;#039;&amp;#039;for&amp;#039;&amp;#039;&amp;#039; hace que estos tres pasos sean una parte explícita de la sintaxis del bucle. Así es más fácil saber lo que está haciendo un bucle &amp;#039;&amp;#039;&amp;#039;for&amp;#039;&amp;#039;&amp;#039; y se evitan errores como olvidarse de inicializar o incrementar la variable del bucle.&lt;br /&gt;
&lt;br /&gt;
Sintaxis:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
for(inicializar; prueba; incremento)&lt;br /&gt;
    instrucción;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Veamos un ejemplo:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
//Bucle for que cuenta de 0 a 9.&lt;br /&gt;
for(let count = 0; count &amp;lt; 10; count++) {&lt;br /&gt;
    console.log(count + &amp;quot;&amp;lt;br&amp;gt;&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Así y todo, los bucles pueden llegar a ser mucho más complejos, con múltiples variables.&lt;br /&gt;
Ejemplo:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
let sum = 0;&lt;br /&gt;
for(let i = 0, j = 10; i &amp;lt; 10; i++, j--) {&lt;br /&gt;
    sum += i * j;&lt;br /&gt;
    console.log(i + &amp;quot; --&amp;gt; &amp;quot; + j);&lt;br /&gt;
    console.log(sum + &amp;quot;&amp;lt;br&amp;gt;&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== for ... of ===&lt;br /&gt;
Recorre una lista de objetos... objeto a objeto. El &amp;#039;&amp;#039;&amp;#039;for...in&amp;#039;&amp;#039;&amp;#039; visto antes recorre las propiedades de los objetos, con &amp;#039;&amp;#039;&amp;#039;for...of&amp;#039;&amp;#039;&amp;#039; los objetos en sí.&lt;br /&gt;
&lt;br /&gt;
Muy interesante el siguiente modo de iterar en los elementos de un Array, empleando la sentencia &amp;#039;&amp;#039;&amp;#039;for...of&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;gt;&lt;br /&gt;
const arrayNumeros = [1, 3, 5, 7];&lt;br /&gt;
for (let num of arrayNumeros) {&lt;br /&gt;
    console.log(`Número : ${num}`);&lt;br /&gt;
}&lt;br /&gt;
//Número : 1 &lt;br /&gt;
//Número : 3 &lt;br /&gt;
//Número : 5 &lt;br /&gt;
//Número : 7&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La instrucción &amp;#039;&amp;#039;&amp;#039;for&amp;#039;&amp;#039;&amp;#039; es útil cuando podemos determinar ciertos requisitos, como el valor inicial del bucle o el modo en que evolucionarán esos valores en cada ciclo. Cuando esta información es poco clara, podemos utilizar la instrucción &amp;#039;&amp;#039;&amp;#039;while&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=== for ... in ===&lt;br /&gt;
La palabra clave &amp;#039;&amp;#039;&amp;#039;for&amp;#039;&amp;#039;&amp;#039; también se utiliza en la instrucción &amp;#039;&amp;#039;&amp;#039;for / in&amp;#039;&amp;#039;&amp;#039; que se utiliza para recorrer las propiedades de un objeto o, por ejemplo, los elementos de una matriz.&lt;br /&gt;
&lt;br /&gt;
Podemos ver un ejemplo de funcionamiento con un objeto tipo &amp;quot;diccionario&amp;quot;, donde recorremos los elementos guardados en él:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
let dict = {uno:1, dos:2, tres:3};&lt;br /&gt;
for(let i in dict) {&lt;br /&gt;
    console.log(i + &amp;quot; --&amp;gt; &amp;quot; + dict[i]);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Detener la ejecución de bucles y condicionales ==&lt;br /&gt;
JavaScript ofrece varias instrucciones para detener la ejecución de bucles y condicionales.&lt;br /&gt;
&lt;br /&gt;
=== break ===&lt;br /&gt;
Instrucción que interrumpe el bucle. Todas las instrucciones restantes y los ciclos pendientes se ignoran después de que se ejecuta esta instrucción.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
//Mostramos números del 10 al 1, pero, se para al llegar a 5&lt;br /&gt;
let lista = [];&lt;br /&gt;
let numero = 10;&lt;br /&gt;
while(numero &amp;gt; 0) {&lt;br /&gt;
    lista.push(numero);&lt;br /&gt;
    numero -= 1;&lt;br /&gt;
    if(numero == 5) {&lt;br /&gt;
        break;&lt;br /&gt;
    } &lt;br /&gt;
}&lt;br /&gt;
console.log(lista);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== continue ===&lt;br /&gt;
Instrucción que interrumpe el ciclo actual y avanza hacia el siguiente. El sistema ignora el resto de instrucciones del bucle después de que se ejecuta esta instrucción.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
//Mostramos números del 10 al 1, &lt;br /&gt;
//menos los comprendidos entre el 4 y el 7&lt;br /&gt;
let lista = [];&lt;br /&gt;
let numero = 10;&lt;br /&gt;
while(numero &amp;gt; 0) {&lt;br /&gt;
    numero -= 1;&lt;br /&gt;
    if(numero &amp;gt; 4 &amp;amp;&amp;amp; numero &amp;lt; 7) {&lt;br /&gt;
        continue; &lt;br /&gt;
    }&lt;br /&gt;
    lista.push(numero);&lt;br /&gt;
} &lt;br /&gt;
console.log(lista);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[JavaScript|Volver]]&lt;/div&gt;</summary>
		<author><name>Vieites</name></author>
	</entry>
</feed>