1
00:00:00,840 --> 00:00:06,560
Bentornati nei prossimi video discuteremo di loop di javascript.

2
00:00:06,570 --> 00:00:08,290
Quindi abbiamo alcuni obiettivi diversi.

3
00:00:08,340 --> 00:00:12,280
Il primo è capire perché usiamo loops e cosa sono.

4
00:00:12,300 --> 00:00:18,120
Il prossimo è capire che cos'è un acronimo Diyar perché è ciò che sta per e come scrivere

5
00:00:18,120 --> 00:00:19,080
il codice secco.

6
00:00:19,380 --> 00:00:23,640
E infine scriveremo dei semplici loop wild per iniziare.

7
00:00:24,780 --> 00:00:30,360
Quindi, ecco un problema che porrò se voglio stampare i numeri da 1 a 10 ciascuno su una

8
00:00:30,360 --> 00:00:32,720
linea diversa con quello che sappiamo finora.

9
00:00:32,820 --> 00:00:39,810
Dovrei avere 10 diversi svantaggi. registri e questo non è già ideale, ma se volessi

10
00:00:39,810 --> 00:00:45,930
fare ogni numero compreso tra 1 e 10000 o il primo milione di numeri improvvisamente dovrò scrivere molto

11
00:00:45,930 --> 00:00:47,120
codice da solo.

12
00:00:47,370 --> 00:00:48,940
Quindi è qui che entrano i loop.

13
00:00:48,960 --> 00:00:54,990
Quindi, anche se molto probabilmente non stamperemmo i numeri da 1 a 10000 in un'applicazione di produzione reale.

14
00:00:55,470 --> 00:01:01,710
Facciamo un esempio come Facebook dove una singola foto o post può avere 10000 commenti

15
00:01:01,710 --> 00:01:04,340
diversi come quelle foto che diventano virali.

16
00:01:04,380 --> 00:01:07,650
Ottengono migliaia e migliaia di commenti dietro le quinte.

17
00:01:07,650 --> 00:01:12,600
C'è una sorta di ciclo che viene utilizzato per stampare tutti i commenti sulla pagina piuttosto

18
00:01:12,600 --> 00:01:16,290
che per ogni commento che deve essere una riga di codice separata.

19
00:01:16,320 --> 00:01:22,230
Quindi, prima di vedere la sintassi dei loop wild in javascript, voglio introdurre questo concetto chiamato dry

20
00:01:22,230 --> 00:01:24,470
code per cui dry sta per.

21
00:01:24,470 --> 00:01:25,910
Non ripeterti.

22
00:01:26,190 --> 00:01:30,990
È un concetto che viene gettato molto in tutti i tipi di linguaggi di programmazione, ma si

23
00:01:30,990 --> 00:01:33,210
tratta di non voler ripetere il nostro codice.

24
00:01:33,210 --> 00:01:35,540
Quindi se diamo un'occhiata a questo esempio qui.

25
00:01:35,820 --> 00:01:38,360
Questo codice è molto molto ripetitivo.

26
00:01:38,370 --> 00:01:40,690
L'unica differenza è il numero che stiamo stampando.

27
00:01:40,980 --> 00:01:43,860
Ma altrimenti ogni linea è la stessa.

28
00:01:43,860 --> 00:01:47,710
Quindi questo codice non è quello che considereremmo asciutto.

29
00:01:47,790 --> 00:01:52,490
Alcune persone chiamerebbero questo bagnato che ho sentito quale codice rappresenta giusto.

30
00:01:52,500 --> 00:01:55,790
Ogni cosa due volte non è così comune sentirlo come asciutto.

31
00:01:55,830 --> 00:01:59,000
Quindi, ciò che i loop fanno è che ci permettono di asciugare il nostro codice.

32
00:01:59,010 --> 00:02:01,040
Sono uno degli strumenti a nostra disposizione.

33
00:02:01,110 --> 00:02:05,850
Alcuni degli altri che apprenderemo più avanti sono funzioni in array e oggetti, ma

34
00:02:05,850 --> 00:02:07,690
i loop sono quelli più fondamentali.

35
00:02:08,550 --> 00:02:10,840
Quindi inizieremo parlando di.

36
00:02:11,100 --> 00:02:16,760
Ci sono più tipi di loop che vedranno il primo è il ciclo while e il ciclo while è

37
00:02:16,800 --> 00:02:18,440
molto simile a un'istruzione IF.

38
00:02:18,690 --> 00:02:27,960
Quindi ci vuole una condizione come X meno di cinque o una risposta non uguale a e, mentre quella condizione è vera, si

39
00:02:28,290 --> 00:02:33,270
ripeterà il codice che abbiamo inserito in una serie di parentesi graffe.

40
00:02:33,480 --> 00:02:39,180
che viene eseguito in un momento mentre un ciclo while continuerà a eseguire il codice finché la condizione è vera.

41
00:02:39,180 --> 00:02:43,350
Quindi un'istruzione if è molto simile ad eccezione del fatto che non ripete il codice

42
00:02:43,740 --> 00:02:45,020
Quindi ecco un esempio.

43
00:02:45,060 --> 00:02:49,330
In questo modo è possibile stampare i numeri da 1 a 5 utilizzando un ciclo while.

44
00:02:49,410 --> 00:02:55,020
Quindi iniziamo con una variabile denominata count che può essere denominata qualsiasi cosa ma contiamo che abbiamo iniziato a 1.

45
00:02:55,350 --> 00:03:01,610
Poi abbiamo il nostro ciclo while con una condizione che dice contare meno di 6.

46
00:03:01,650 --> 00:03:05,610
Quindi la prima volta che il codice esegue il conteggio è uguale a 1.

47
00:03:06,000 --> 00:03:07,820
Quindi uno è meno di sei.

48
00:03:07,860 --> 00:03:09,820
Quindi questo è vero.

49
00:03:09,900 --> 00:03:14,340
Quindi ecco un esempio di utilizzo di un ciclo while per stampare i numeri da 1 a 5.

50
00:03:14,700 --> 00:03:16,650
Quindi iniziamo inizialmente.

51
00:03:17,400 --> 00:03:21,410
Quindi iniziamo inizializzando una variabile chiamata count che potrebbe essere nominata qualsiasi cosa.

52
00:03:21,660 --> 00:03:29,160
E abbiamo iniziato come uno, quindi abbiamo il nostro ciclo while e la sintassi è di nuovo mentre e poi una condizione.

53
00:03:29,550 --> 00:03:33,100
In questo caso la condizione è inferiore a 6.

54
00:03:33,120 --> 00:03:36,550
Quindi, la prima volta che viene eseguito questo ciclo è 1.

55
00:03:36,780 --> 00:03:39,090
Quindi uno meno di sei è vero.

56
00:03:39,270 --> 00:03:41,310
Quindi questo codice viene eseguito.

57
00:03:41,970 --> 00:03:49,340
Quindi quello che verrà stampato è 1 e poi aggiungerà 1 a contare e poi andrà di nuovo.

58
00:03:49,590 --> 00:03:54,150
E controlla il conteggio che deve essere a meno di 6.

59
00:03:54,300 --> 00:03:54,980
È vero.

60
00:03:55,020 --> 00:03:57,990
Quindi stampa di nuovo e aggiunge 1 per contare.

61
00:03:57,990 --> 00:03:59,310
Adesso sono le tre.

62
00:03:59,400 --> 00:04:00,650
Questo è di nuovo vero.

63
00:04:00,750 --> 00:04:08,910
Quindi stampa contato tre aggiunge uno per contare che è quattro e così via fino a quando il conteggio del tempo finale è cinque

64
00:04:09,420 --> 00:04:11,010
cinque è inferiore a sei.

65
00:04:11,040 --> 00:04:13,090
Stampiamo il conto cinque.

66
00:04:13,170 --> 00:04:15,450
Aggiungiamo uno per contare che ora è sei.

67
00:04:15,750 --> 00:04:20,600
E poi prova a correre di nuovo e realizza che sei non sono meno di sei.

68
00:04:20,880 --> 00:04:23,600
Quindi è fatto e basta.

69
00:04:23,610 --> 00:04:28,530
Quindi andrò avanti e aprirò la mia truffa. ed esegui questo codice semplicemente incollalo qui.

70
00:04:28,530 --> 00:04:29,970
Il conteggio inizia da 1.

71
00:04:30,000 --> 00:04:33,530
Funziona conteggio selvaggio è inferiore a sei.

72
00:04:33,570 --> 00:04:41,110
cambiarlo un po 'se volessi stampare i numeri tra 5 e 20 se avessi voluto includere 20.

73
00:04:41,110 --> 00:04:49,090
Premendo Invio, vengo contato fino a 1 fino all'ultima volta che il numero di cicli è cinque, quindi potrei

74
00:04:49,090 --> 00:04:50,230
anche provare a

75
00:04:50,230 --> 00:04:55,780
Avrei bisogno di cambiare questo per essere inferiore o uguale a 20 o inferiore a 21.

76
00:04:56,260 --> 00:05:03,710
Quindi farò meno o uguale a e questo includerà effettivamente 20 come puoi vedere da cinque a 20.

77
00:05:03,760 --> 00:05:08,150
Allo stesso modo, posso anche fare cose in cui non aggiungo solo una volta ogni volta.

78
00:05:08,260 --> 00:05:16,590
Quindi, se voglio contare a coppie, scriverò semplicemente il numero più due, invece di aggiungerne uno.

79
00:05:16,600 --> 00:05:18,930
Quindi questa volta inizierà alle 5.

80
00:05:19,180 --> 00:05:20,530
Quindi passerà attraverso.

81
00:05:20,530 --> 00:05:21,710
La condizione è vera

82
00:05:21,730 --> 00:05:24,340
Stampa il conteggio e lo aggiunge.

83
00:05:24,340 --> 00:05:32,150
Ora siamo alle sette e poi si aggiunge alla prossima e così via e finiamo con questo 5 7 9 11 13:15 1719.

84
00:05:33,190 --> 00:05:38,440
Quindi, come probabilmente puoi vedere, un loop può aiutarci a risparmiare molto tempo piuttosto che dover avere 10

85
00:05:38,650 --> 00:05:42,280
diversi contro sulle dichiarazioni di registro o 15 Konst sulle istruzioni di registro.

86
00:05:42,280 --> 00:05:47,340
L'abbiamo appena scritto una volta in un ciclo e ci prendiamo cura di tutto il resto per noi.

87
00:05:48,640 --> 00:05:54,040
Quindi, qui ho un altro esempio in cui invece di stampare semplicemente i numeri, usiamo un ciclo

88
00:05:54,040 --> 00:05:59,800
while per scorrere una stringa e stampare ogni carattere separatamente in modo che l'output sia simile a questo.

89
00:05:59,890 --> 00:06:02,770
H E L L O N vita separata.

90
00:06:02,800 --> 00:06:03,700
Quindi sono cinque.

91
00:06:03,710 --> 00:06:09,100
le dichiarazioni del registro dei punti della console e il modo in cui otteniamo che iniziamo con la nostra stringa uguale a ciao.

92
00:06:09,990 --> 00:06:15,070
Si chiama TR e quindi abbiamo i nostri account che saranno il numero che useremo per accedere a un personaggio

93
00:06:15,070 --> 00:06:15,650
nella stringa.

94
00:06:15,670 --> 00:06:16,760
È l'indice.

95
00:06:16,760 --> 00:06:21,200
E ricordo che il primo personaggio è sempre all'indice 0.

96
00:06:21,220 --> 00:06:27,820
che il conteggio è inferiore alla lunghezza della stringa, quindi la lunghezza è uno due tre quattro o cinque.

97
00:06:27,820 --> 00:06:30,090
Quindi, quello che faremo è dire

98
00:06:30,430 --> 00:06:37,780
Quindi, mentre il conteggio è inferiore a 5, stamperemo la stringa con un carattere, aggiungendo l'indice

99
00:06:37,810 --> 00:06:38,710
di conteggio.

100
00:06:38,740 --> 00:06:42,060
Quindi, questo significa che aprirò il mio Console e farò un passo avanti.

101
00:06:42,070 --> 00:06:44,430
Iniziamo questo qui.

102
00:06:44,500 --> 00:06:49,450
La stringa è uguale a ciao I conteggi Vark sono zero.

103
00:06:50,230 --> 00:06:55,090
Quindi, piuttosto che copiare il ciclo while, inizierò solo a mostrarti come funziona.

104
00:06:55,480 --> 00:07:01,710
Quindi, mentre il conteggio è inferiore alla lunghezza della corda e la lunghezza della corda è cinque.

105
00:07:01,750 --> 00:07:03,760
Quindi 0 è inferiore a 5.

106
00:07:03,820 --> 00:07:04,620
Questo è vero.

107
00:07:04,840 --> 00:07:09,330
Annulleremo il conteggio delle parentesi della stringa del registro.

108
00:07:09,370 --> 00:07:13,180
Quindi questa sarà una stringa di zero che ci dà h.

109
00:07:13,480 --> 00:07:18,610
E poi ne aggiungiamo uno per contare quindi conta più più.

110
00:07:18,610 --> 00:07:20,780
Quindi ora conta è 1.

111
00:07:21,070 --> 00:07:27,280
Quindi lo ripetiamo di nuovo conteggia meno della lunghezza della corda è uno in meno di cinque.

112
00:07:27,670 --> 00:07:28,340
Sì.

113
00:07:28,480 --> 00:07:30,380
Quindi ora facciamo di nuovo questa linea.

114
00:07:30,430 --> 00:07:34,150
La stringa del conteggio e del conteggio della console è ora 1.

115
00:07:34,150 --> 00:07:35,210
Quindi abbiamo capito.

116
00:07:35,440 --> 00:07:43,210
Quindi questo continua fino all'ultima volta o una stampa Oh e aggiungiamo 1 per contare che poi è uguale

117
00:07:43,210 --> 00:07:46,910
a 5 e 5 non è inferiore a 5.

118
00:07:46,930 --> 00:07:49,050
Quindi il ciclo è finito.

119
00:07:49,060 --> 00:07:53,940
Ricorda che la lunghezza è sempre maggiore di un indice più alto di una stringa.

120
00:07:54,370 --> 00:08:02,440
è di cinque caratteri ma l'indice massimo è quattro perché iniziamo a 0 1 2 3 0 è all'indice 4.

121
00:08:02,440 --> 00:08:03,670
Quindi la lunghezza

122
00:08:03,730 --> 00:08:08,490
Ecco come è possibile utilizzare un ciclo per stampare ogni carattere in una stringa.

123
00:08:09,820 --> 00:08:14,740
Quindi è necessario notare che AUPs è che possiamo creare qualcosa chiamato loop infinito.

124
00:08:14,740 --> 00:08:16,160
Se non stiamo attenti.

125
00:08:16,220 --> 00:08:21,260
Quindi un ciclo infinito si verifica quando la condizione che forniamo non è mai falsa.

126
00:08:21,430 --> 00:08:26,680
Quindi continua ad andare e andare e andare e andare per sempre e questi sono ovviamente problematici.

127
00:08:26,710 --> 00:08:28,290
Possono schiacciare un browser.

128
00:08:28,300 --> 00:08:30,210
Occupano tutta la memoria in javascript.

129
00:08:30,370 --> 00:08:32,510
Non è qualcosa che vorresti mai fare.

130
00:08:32,740 --> 00:08:35,840
Quindi ecco un esempio di come accadrebbe.

131
00:08:36,040 --> 00:08:43,870
Abbiamo un numero di conteggi pari a zero e quindi stiamo dicendo che wow count è inferiore a 10 conteggio dei log annullato.

132
00:08:44,710 --> 00:08:49,540
Il conteggio è sempre inferiore a 10 perché è zero e non cambieremo mai il conto.

133
00:08:49,930 --> 00:08:52,970
Quindi non è mai incrementato non sarà mai più di 10.

134
00:08:53,050 --> 00:08:55,420
Quindi questo stamperà zero per sempre.

135
00:08:55,540 --> 00:08:59,550
Quindi non ti consiglio di farlo ma potresti copiarlo e incollarlo nella tua console.

136
00:08:59,620 --> 00:09:02,830
E quello che vedresti stamperebbe una tonnellata di zeri per iniziare.

137
00:09:03,010 --> 00:09:08,440
E invece di girare all'infinito la maggior parte dei browser al giorno d'oggi lo fermerebbero e

138
00:09:08,440 --> 00:09:12,910
ti avviserebbero che c'è del codice scritto male c'è un ciclo infinito in esecuzione.

139
00:09:12,940 --> 00:09:16,080
Quindi, solo per contrastarlo con un ciclo come questo.

140
00:09:16,240 --> 00:09:23,140
Abbiamo un conteggio degli incrementi che dobbiamo rendere questa condizione a un certo punto essere falsi se non lo facciamo continueremo

141
00:09:23,140 --> 00:09:25,880
a correre per sempre come questo fa qui
