1
00:00:00,270 --> 00:00:05,310
In questo video discuteremo un concetto chiamato scope in javascript.

2
00:00:05,310 --> 00:00:09,640
L'ambito si riferisce al contesto in cui è in esecuzione un codice.

3
00:00:09,900 --> 00:00:14,610
Quindi, dovunque abbiamo del codice, diciamo che è all'interno di una funzione chiamata Say hello.

4
00:00:15,210 --> 00:00:18,550
Quel codice è in esecuzione in un contesto specifico.

5
00:00:18,720 --> 00:00:23,970
E quindi potrebbe avere alcune variabili e potrebbe avere alcune proprietà e lo scope si

6
00:00:23,970 --> 00:00:27,620
riferisce a qualsiasi variabile e proprietà sono visibili in quella funzione.

7
00:00:27,750 --> 00:00:32,820
E questo potrebbe essere diverso all'interno di un'altra funzione o se avessimo le funzioni annidate l'una

8
00:00:32,820 --> 00:00:33,290
dentro l'altra.

9
00:00:33,360 --> 00:00:34,740
Qual è qualcosa che puoi fare.

10
00:00:34,950 --> 00:00:39,070
Potremmo avere diversi ambiti e variabili diverse sono visibili.

11
00:00:39,150 --> 00:00:41,490
Quindi questo ha senso con alcuni esempi.

12
00:00:41,490 --> 00:00:46,830
Questo è sicuramente un argomento notoriamente difficile e complicato, ma ho intenzione di fare del mio meglio

13
00:00:46,830 --> 00:00:47,950
per semplificarlo per te.

14
00:00:48,660 --> 00:00:50,880
Iniziamo con qualcosa di semplice qui.

15
00:00:50,880 --> 00:01:03,720
Dichiara la funzione matematica e tutto ciò che faremo matematica è dichiarare la variabile x uguale a

16
00:01:03,720 --> 00:01:09,390
40 e poi cancellerà quel registro X. i calcoli e ne ottengono 40 stampati.

17
00:01:09,690 --> 00:01:10,980
Quindi eseguiamo

18
00:01:14,040 --> 00:01:15,970
Quindi all'interno di questa funzione in questo ambito chiameremmo x è uguale a 40.

19
00:01:16,320 --> 00:01:22,720
Comunque al di fuori della funzione se provo ad accedere a X cosa ti aspetti che accada.

20
00:01:22,740 --> 00:01:28,760
Ottengo un errore mi dice che x non è definito.

21
00:01:29,760 --> 00:01:32,810
Quindi ciò che questo ci mostra è che abbiamo due diversi ambiti all'interno di questa funzione, un contesto.

22
00:01:32,880 --> 00:01:38,650
X è definito qui ma al di fuori di quello e

23
00:01:38,760 --> 00:01:45,150
ciò che chiameremmo lo scope globale non siamo all'interno di alcuna funzione.

24
00:01:45,150 --> 00:01:46,200
Quando digito X ottengo un errore perché non sa cosa sia X.

25
00:01:46,350 --> 00:01:49,900
Non è visibile in questo ambito.

26
00:01:49,920 --> 00:01:52,840
Quindi, se definiamo x per x uguale, chiamiamolo basso.

27
00:01:53,010 --> 00:02:01,200
Ora, se accedo a X quando sono al di fuori di questa funzione, mi trovo nella portata globale.

28
00:02:01,260 --> 00:02:07,020
Ciao.

29
00:02:07,030 --> 00:02:07,810
Quindi in questo contesto X è pronto.

30
00:02:08,160 --> 00:02:10,450
Ma se eseguo di nuovo la matematica, cosa ti aspetti che accada questa volta.

31
00:02:10,770 --> 00:02:17,200
È ancora 40 all'interno di questo contesto.

32
00:02:17,400 --> 00:02:21,180
Quindi è davvero importante.

33
00:02:21,180 --> 00:02:22,490
Quando creiamo una funzione ha il proprio ambito il proprio insieme di variabili.

34
00:02:22,800 --> 00:02:27,250
Ciò non significa però che al posto di una

35
00:02:27,510 --> 00:02:33,060
funzione non possiamo accedere a variabili definite al di fuori della funzione.

36
00:02:33,060 --> 00:02:33,770
Quindi ti mostrerò un esempio.

37
00:02:33,960 --> 00:02:35,290
Ho intenzione di

38
00:02:35,520 --> 00:02:42,890
cancellare tutto qui e questa volta usiamo una variabile Y variabile y uguale a novantanove.

39
00:02:42,890 --> 00:02:43,700
Quindi, nell'ambito globale, posso accedere a y.

40
00:02:44,280 --> 00:02:47,510
matematica se voglio cancellare quel registro.

41
00:02:47,610 --> 00:02:52,380
Ora, se dichiaro una funzione, chiamiamola fare più

42
00:02:56,100 --> 00:02:58,260
Perché pensi che avrà un errore.

43
00:02:58,260 --> 00:03:01,220
O funzionerà bene.

44
00:03:01,500 --> 00:03:03,360
Proviamo a fare più matematica con le parentesi.

45
00:03:04,230 --> 00:03:08,480
E questo mi dà 99.

46
00:03:08,850 --> 00:03:10,420
Quindi ciò che questo ci

47
00:03:10,830 --> 00:03:17,310
mostra qui è che quando definiamo qualcosa al di fuori di una funzione, abbiamo ancora accesso ad essa all'interno di quella funzione.

48
00:03:17,310 --> 00:03:19,520
Pensa a questo come a un ambito figlio.

49
00:03:19,530 --> 00:03:21,780
Questo è più specifico è il drill-down

50
00:03:21,900 --> 00:03:27,630
in un livello più profondo e gli ambiti figlio hanno accesso a cose da trovare nell'ambito genitore.

51
00:03:27,630 --> 00:03:30,200
Quindi se quell'analogia ti aiuta ad andare avanti e correre con esso.

52
00:03:30,300 --> 00:03:32,900
Ma fondamentalmente riassumendo se definiamo una variabile al di fuori della funzione, possiamo usarla all'interno della funzione.

53
00:03:33,090 --> 00:03:38,530
Ma il contrario non è vero.

54
00:03:39,210 --> 00:03:41,840
Quindi ecco un altro esempio.

55
00:03:43,020 --> 00:03:44,390
Cosa succede se dentro di fare più matematica, in realtà cambio il valore di y.

56
00:03:44,460 --> 00:03:50,290
Quindi dico perché è uguale a 100.

57
00:03:50,370 --> 00:03:56,260
E poi stampo y.

58
00:03:56,550 --> 00:03:58,200
Cosa pensi che accada in questo caso.

59
00:03:58,710 --> 00:04:02,090
Questa è una prova.

60
00:04:02,330 --> 00:04:03,260
Diamo un'occhiata a ciò che è in questo momento.

61
00:04:03,510 --> 00:04:05,060
Sono novantanove.

62
00:04:05,070 --> 00:04:06,130
E se faccio

63
00:04:06,430 --> 00:04:07,920
più matematica, ne stampa 100.

64
00:04:13,050 --> 00:04:14,910
Quindi all'interno della funzione y è su cento e ne viene stampato 100.

65
00:04:14,910 --> 00:04:19,080
Ma che dire al di fuori della funzione.

66
00:04:19,080 --> 00:04:21,370
Cosa succede se scrivo Y.

67
00:04:21,720 --> 00:04:23,960
È anche 100.

68
00:04:24,210 --> 00:04:26,160
Quindi, quello che è successo qui è che ho dichiarato y prima come '99 al di fuori della funzione nell'ambito globale.

69
00:04:26,610 --> 00:04:33,930
E poi all'interno della funzione ho cambiato y.

70
00:04:34,380 --> 00:04:37,820
Quindi questo non ha dichiarato una nuova variabile y

71
00:04:37,980 --> 00:04:44,850
nella portata in cui effettivamente ha trovato quello vecchio che è stato dichiarato qui e lo ha cambiato.

72
00:04:44,850 --> 00:04:47,670
Quindi qui.

73
00:04:47,670 --> 00:04:49,770
Perché è cento e fuori Perché anche 100.

74
00:04:49,770 --> 00:04:54,280
Quindi, ecco un altro esempio, chiariamo tutto questo.

75
00:04:54,300 --> 00:04:57,140
Facciamo una frase variabile uguale in alto e poi facciamo in modo che una funzione faccia qualcosa.

76
00:04:57,420 --> 00:05:07,380
So che questi nomi non sono terribilmente creativi e invece di fare qualcosa ho intenzione di provare a cambiare.

77
00:05:07,380 --> 00:05:16,720
Ho intenzione di fare una nuova frase VAR uguale addio.

78
00:05:17,010 --> 00:05:23,350
E poi alla prossima riga lo stamperò.

79
00:05:24,270 --> 00:05:30,520
Quindi cosa ti aspetti che accada qui.

80
00:05:30,570 --> 00:05:33,730
facciamo qualcosa, addio.

81
00:05:34,830 --> 00:05:36,840
Se corriamo

82
00:05:40,110 --> 00:05:42,100
Quindi quello che ci dice che invece di fare qualcosa per A è uguale a ciao.

83
00:05:42,120 --> 00:05:47,570
Ma al di fuori di ciò che è la frase uguale a è ancora alto lì.

84
00:05:47,880 --> 00:05:52,190
Quindi aggiungendo qui la frase var equivale a dire addio.

85
00:05:52,500 --> 00:05:56,290
Questo ci rende una nuova variabile piuttosto che usare quella definita qui.

86
00:05:56,430 --> 00:06:00,780
Rende nuova variabile di frase che esiste solo in questo ambito solo all'interno di fare qualcosa è addio frase.

87
00:06:00,780 --> 00:06:07,500
Quindi, al suo interno, ci salutiamo. Saliamo

88
00:06:08,250 --> 00:06:12,020
&nbsp;
