1
00:00:00,840 --> 00:00:06,560
Bienvenido de nuevo en los próximos videos que vamos a discutir javascript loops.

2
00:00:06,570 --> 00:00:08,290
Entonces tenemos algunos objetivos diferentes.

3
00:00:08,340 --> 00:00:12,280
El primero es comprender por qué usamos bucles y qué son.

4
00:00:12,300 --> 00:00:18,120
El siguiente es entender qué secar es un acrónimo Diyar por qué lo que significa y cómo

5
00:00:18,120 --> 00:00:19,080
escribir código seco.

6
00:00:19,380 --> 00:00:23,640
Y finalmente, vamos a escribir algunos bucles salvajes simples para comenzar.

7
00:00:24,780 --> 00:00:30,360
Así que aquí hay un problema que plantearé si quiero imprimir los números del 1 al 10 cada uno en

8
00:00:30,360 --> 00:00:32,720
una línea diferente con lo que sabemos hasta ahora.

9
00:00:32,820 --> 00:00:39,810
Tendría que tener 10 contras diferentes. registros y eso ya no es ideal, pero ¿qué pasa si quiero

10
00:00:39,810 --> 00:00:45,930
hacer cada número entre 1 y 10000 o el primer millón de números de repente tengo que escribir un montón

11
00:00:45,930 --> 00:00:47,120
de código yo mismo.

12
00:00:47,370 --> 00:00:48,940
Así que aquí es donde entran los bucles

13
00:00:48,960 --> 00:00:54,990
Así que aunque probablemente no imprimiremos los números del 1 al 10000 en una aplicación de producción real.

14
00:00:55,470 --> 00:01:01,710
Tomemos un ejemplo como Facebook, donde una sola foto o publicación puede tener 10000 comentarios diferentes,

15
00:01:01,710 --> 00:01:04,340
como esas fotos que se vuelven virales.

16
00:01:04,380 --> 00:01:07,650
Reciben miles y miles de comentarios detrás de escena.

17
00:01:07,650 --> 00:01:12,600
Hay una especie de bucle que se usa para imprimir todos los comentarios en la página y

18
00:01:12,600 --> 00:01:16,290
no para cada comentario que necesita ser una línea de código por separado.

19
00:01:16,320 --> 00:01:22,230
Entonces, antes de que veamos la sintaxis de los bucles en javascript, queremos introducir este concepto

20
00:01:22,230 --> 00:01:24,470
llamado código seco, que significa "seco".

21
00:01:24,470 --> 00:01:25,910
No te repitas.

22
00:01:26,190 --> 00:01:30,990
Es un concepto que se usa mucho en todo tipo de lenguajes de programación, pero se

23
00:01:30,990 --> 00:01:33,210
trata de que no queremos repetir nuestro código.

24
00:01:33,210 --> 00:01:35,540
Entonces, si echamos un vistazo a este ejemplo aquí.

25
00:01:35,820 --> 00:01:38,360
Este código es muy muy repetitivo.

26
00:01:38,370 --> 00:01:40,690
La única diferencia es el número que estamos imprimiendo.

27
00:01:40,980 --> 00:01:43,860
Pero de lo contrario, cada línea es la misma.

28
00:01:43,860 --> 00:01:47,710
Entonces este código no es lo que consideraríamos seco.

29
00:01:47,790 --> 00:01:52,490
Algunas personas llamarían a esto mojado, lo que he escuchado que es el código correcto.

30
00:01:52,500 --> 00:01:55,790
Todo dos veces eso no es tan común de escuchar como seco.

31
00:01:55,830 --> 00:01:59,000
Entonces, ¿qué hacen los bucles? Nos permiten secar nuestro código.

32
00:01:59,010 --> 00:02:01,040
Ellos son una de las herramientas a nuestra disposición.

33
00:02:01,110 --> 00:02:05,850
Algunos de los otros que veremos más adelante son funciones en matrices y objetos, pero

34
00:02:05,850 --> 00:02:07,690
los bucles son los más fundamentales.

35
00:02:08,550 --> 00:02:10,840
Así que vamos a comenzar hablando de ello.

36
00:02:11,100 --> 00:02:16,760
Hay varios tipos de bucles que verán que el primero es el bucle while y el bucle while es

37
00:02:16,800 --> 00:02:18,440
muy similar a una instrucción IF.

38
00:02:18,690 --> 00:02:27,960
Por lo tanto, toma una condición como X menos de cinco o respuesta no igual a y y luego, mientras que esa condición

39
00:02:28,290 --> 00:02:33,270
es verdadera, repetirá el código que ponemos en un conjunto de llaves.

40
00:02:33,480 --> 00:02:39,180
acaba de ejecutar a la vez. While loop continuará ejecutando el código siempre que la condición sea verdadera.

41
00:02:39,180 --> 00:02:43,350
Entonces, una instrucción if es muy similar, excepto que no repite el código que

42
00:02:43,740 --> 00:02:45,020
Así que aquí hay un ejemplo.

43
00:02:45,060 --> 00:02:49,330
Así es como pudimos imprimir los números del 1 al 5 usando un ciclo while.

44
00:02:49,410 --> 00:02:55,020
Así que comenzamos con una variable llamada conteo que podría denominarse cualquier cosa menos conteo comenzamos en 1.

45
00:02:55,350 --> 00:03:01,610
Luego tenemos nuestro ciclo while con una condición que dice contar menos de 6.

46
00:03:01,650 --> 00:03:05,610
Por lo tanto, la primera vez que este código se ejecuta count es igual a 1.

47
00:03:06,000 --> 00:03:07,820
Entonces uno es menos de seis.

48
00:03:07,860 --> 00:03:09,820
Entonces esto es verdad

49
00:03:09,900 --> 00:03:14,340
Aquí hay un ejemplo de cómo usar un ciclo while para imprimir los números del 1 al 5.

50
00:03:14,700 --> 00:03:16,650
Entonces comenzamos por inicialmente.

51
00:03:17,400 --> 00:03:21,410
Así que comenzamos inicializando una variable llamada conteo que podría llamarse cualquier cosa.

52
00:03:21,660 --> 00:03:29,160
Y comenzamos como uno, luego tenemos nuestro ciclo while y la sintaxis es otra vez y luego una condición.

53
00:03:29,550 --> 00:03:33,100
En este caso, la condición es contar menos de 6.

54
00:03:33,120 --> 00:03:36,550
Entonces, la primera vez que este bucle se ejecuta contar es 1.

55
00:03:36,780 --> 00:03:39,090
Entonces uno menos de seis es verdad.

56
00:03:39,270 --> 00:03:41,310
Entonces este código se ejecuta.

57
00:03:41,970 --> 00:03:49,340
Así que eso se va a imprimir, el recuento es 1 y luego agregará 1 para contar y luego volverá.

58
00:03:49,590 --> 00:03:54,150
Y comprueba que el conteo que es a es a menos de 6.

59
00:03:54,300 --> 00:03:54,980
Es verdad.

60
00:03:55,020 --> 00:03:57,990
Entonces imprime de nuevo y agrega 1 para contar.

61
00:03:57,990 --> 00:03:59,310
Ahora son las tres.

62
00:03:59,400 --> 00:04:00,650
Esto es verdad otra vez

63
00:04:00,750 --> 00:04:08,910
Así que imprime contado tres agrega uno para contar que es cuatro y así sucesivamente hasta que la cuenta de tiempo final es cinco

64
00:04:09,420 --> 00:04:11,010
cinco es menos de seis.

65
00:04:11,040 --> 00:04:13,090
Imprimimos el conteo cinco.

66
00:04:13,170 --> 00:04:15,450
Agregamos uno para contar, que ahora es seis.

67
00:04:15,750 --> 00:04:20,600
Y luego intenta volver a ejecutar y se da cuenta de que seis no son menos de seis.

68
00:04:20,880 --> 00:04:23,600
Entonces está hecho y eso es todo.

69
00:04:23,610 --> 00:04:28,530
Así que voy a seguir adelante y abrir mi estafa. y ejecuta este código simplemente pégalo aquí.

70
00:04:28,530 --> 00:04:29,970
Count comienza en 1.

71
00:04:30,000 --> 00:04:33,530
Funciona salvaje cuenta es menos de seis.

72
00:04:33,570 --> 00:04:41,110
esto un poco si quisiera imprimir los números entre cinco y 20 si quisiera que se incluyan 20.

73
00:04:41,110 --> 00:04:49,090
Pulso "Enter" y me cuentan "1" hasta la última vez que el recuento de bucles es "cinco", así que también

74
00:04:49,090 --> 00:04:50,230
podría intentar cambiar

75
00:04:50,230 --> 00:04:55,780
Tendría que cambiar esto para que sea menor o igual a 20 o menor que 21.

76
00:04:56,260 --> 00:05:03,710
Así que haré menos que o igual y eso realmente incluirá 20 ya que puede ver cinco hasta 20.

77
00:05:03,760 --> 00:05:08,150
Del mismo modo, también puedo hacer cosas donde no solo estoy agregando una cada vez.

78
00:05:08,260 --> 00:05:16,590
Entonces, si quiero contar de dos en dos, simplemente escribiría contar más dos en lugar de solo agregar uno.

79
00:05:16,600 --> 00:05:18,930
Así que esta vez comenzará a las 5.

80
00:05:19,180 --> 00:05:20,530
Entonces pasará.

81
00:05:20,530 --> 00:05:21,710
La condición es verdadera.

82
00:05:21,730 --> 00:05:24,340
Imprime el Conde y lo agrega.

83
00:05:24,340 --> 00:05:32,150
Ahora estamos en siete y luego se suma a la próxima y así sucesivamente y terminamos con este 5 7 9 11 13:15 1719.

84
00:05:33,190 --> 00:05:38,440
Entonces, como probablemente ya pueda ver, un ciclo puede ayudarnos a ahorrar mucho tiempo en lugar de tener que tener 10

85
00:05:38,650 --> 00:05:42,280
contras diferentes sobre las declaraciones de registro o 15 Konst sobre las declaraciones de registro.

86
00:05:42,280 --> 00:05:47,340
Simplemente lo escribimos una vez y eso nos ocupa del resto.

87
00:05:48,640 --> 00:05:54,040
Así que tengo otro ejemplo aquí en el que, en lugar de solo imprimir números, estamos utilizando un

88
00:05:54,040 --> 00:05:59,800
ciclo while para recorrer una cadena e imprimir cada carácter por separado para que la salida se vea así.

89
00:05:59,890 --> 00:06:02,770
H E L L O N vidas separadas.

90
00:06:02,800 --> 00:06:03,700
Entonces eso es cinco.

91
00:06:03,710 --> 00:06:09,100
declaraciones de log de punto de consola y la forma en que logramos que comencemos con nuestra cadena igual a hola.

92
00:06:09,990 --> 00:06:15,070
Se llama como TR y tenemos nuestras cuentas, que serán el número que usemos para acceder a un personaje en

93
00:06:15,070 --> 00:06:15,650
la cadena.

94
00:06:15,670 --> 00:06:16,760
Es el índice.

95
00:06:16,760 --> 00:06:21,200
Y recuerdo que el primer personaje siempre está en el índice 0.

96
00:06:21,220 --> 00:06:27,820
mientras el recuento es menor que la longitud de la cadena, por lo que la longitud es uno dos tres cuatro o cinco.

97
00:06:27,820 --> 00:06:30,090
Entonces, lo que vamos a hacer es decir

98
00:06:30,430 --> 00:06:37,780
Entonces, mientras el recuento es menor a 5 Vamos a imprimir la cadena con un carácter agregar índice

99
00:06:37,810 --> 00:06:38,710
de recuento.

100
00:06:38,740 --> 00:06:42,060
Entonces, ¿qué significa que abriré mi cónsul y lo superaré?

101
00:06:42,070 --> 00:06:44,430
Comenzamos esto por aquí.

102
00:06:44,500 --> 00:06:49,450
String es igual a hello. Vark counts es cero.

103
00:06:50,230 --> 00:06:55,090
Entonces, en lugar de solo copiar el ciclo while, comenzaré con solo mostrarte cómo funciona.

104
00:06:55,480 --> 00:07:01,710
Entonces, mientras que el recuento es menor que la longitud de la cadena y la longitud de la cadena es de cinco.

105
00:07:01,750 --> 00:07:03,760
Entonces 0 es menos de 5.

106
00:07:03,820 --> 00:07:04,620
Eso es verdad.

107
00:07:04,840 --> 00:07:09,330
Vamos a cancelar ese recuento de corchetes de cadena de registro.

108
00:07:09,370 --> 00:07:13,180
Así que va a ser una cadena de cero que nos da h.

109
00:07:13,480 --> 00:07:18,610
Y luego agregamos uno para contar así que cuenta más más.

110
00:07:18,610 --> 00:07:20,780
Entonces ahora el recuento es 1.

111
00:07:21,070 --> 00:07:27,280
Así que repetimos esto de nuevo es contar menos que la longitud de la cuerda es uno menos de cinco.

112
00:07:27,670 --> 00:07:28,340
Sí.

113
00:07:28,480 --> 00:07:30,380
Así que ahora hacemos esta línea de nuevo.

114
00:07:30,430 --> 00:07:34,150
La cadena de registro de puntos de la consola de conteo y recuento ahora es 1.

115
00:07:34,150 --> 00:07:35,210
Entonces lo conseguimos

116
00:07:35,440 --> 00:07:43,210
Así que esto continúa hasta la última vez o una impresión Ah, y agregamos 1 para contar, que entonces es

117
00:07:43,210 --> 00:07:46,910
igual a 5 y 5 no es menos de 5.

118
00:07:46,930 --> 00:07:49,050
Entonces el ciclo ha terminado.

119
00:07:49,060 --> 00:07:53,940
Recuerde que la longitud siempre es una mayor que el índice más alto de una cadena.

120
00:07:54,370 --> 00:08:02,440
es de cinco caracteres pero el índice máximo es cuatro porque comenzamos en 0 1 2 3 0 está en el índice 4.

121
00:08:02,440 --> 00:08:03,670
Entonces la longitud

122
00:08:03,730 --> 00:08:08,490
Así es como puedes usar un loop para imprimir cada caracter en una cadena.

123
00:08:09,820 --> 00:08:14,740
Por lo tanto, uno debe tener en cuenta sobre las AUP salvajemente que podemos crear algo llamado bucle infinito.

124
00:08:14,740 --> 00:08:16,160
Si no tenemos cuidado

125
00:08:16,220 --> 00:08:21,260
Entonces ocurre un ciclo infinito cuando la condición que proporcionamos nunca es falsa.

126
00:08:21,430 --> 00:08:26,680
Por lo tanto, sigue y sigue y sigue y sigue y esto es obviamente problemático.

127
00:08:26,710 --> 00:08:28,290
Pueden aplastar un navegador.

128
00:08:28,300 --> 00:08:30,210
Toman toda la memoria en javascript.

129
00:08:30,370 --> 00:08:32,510
No es algo que siempre quieras hacer.

130
00:08:32,740 --> 00:08:35,840
Así que aquí hay un ejemplo de cómo sucedería.

131
00:08:36,040 --> 00:08:43,870
Tenemos un recuento igual a cero y luego estamos diciendo que el recuento de wow es menos de 10 recuento de registros cancelados.

132
00:08:44,710 --> 00:08:49,540
El recuento de pozos siempre es menor a 10 porque es cero y nunca cambiaremos la cuenta.

133
00:08:49,930 --> 00:08:52,970
Por lo tanto, nunca se incrementa nunca tendrá más de 10.

134
00:08:53,050 --> 00:08:55,420
Entonces esto simplemente imprimirá cero para siempre.

135
00:08:55,540 --> 00:08:59,550
Así que no te recomiendo que hagas esto, pero podrías copiar esto y pegarlo en tu consola.

136
00:08:59,620 --> 00:09:02,830
Y lo que vería sería imprimir una tonelada de ceros para comenzar.

137
00:09:03,010 --> 00:09:08,440
Y en lugar de ejecutar infinitamente la mayoría de los navegadores hoy en día lo detendrían y lo

138
00:09:08,440 --> 00:09:12,910
alertarían de que hay algún código mal escrito que hay algún bucle infinito en ejecución.

139
00:09:12,940 --> 00:09:16,080
Entonces solo para contrastar eso con un ciclo como este.

140
00:09:16,240 --> 00:09:23,140
Tenemos un recuento de incrementos que tenemos que hacer que esta condición en algún momento sea falsa si no lo hacemos, solo

141
00:09:23,140 --> 00:09:25,880
seguirá funcionando para siempre como este lo hace aquí
