In questo video discuteremo un concetto chiamato scope in javascript.
L'ambito si riferisce al contesto in cui è in esecuzione un codice.
Quindi, dovunque abbiamo del codice, diciamo che è all'interno di una funzione chiamata Say hello.
Quel codice è in esecuzione in un contesto specifico.
E quindi potrebbe avere alcune variabili e potrebbe avere alcune proprietà e lo scope si
riferisce a qualsiasi variabile e proprietà sono visibili in quella funzione.
E questo potrebbe essere diverso all'interno di un'altra funzione o se avessimo le funzioni annidate l'una
dentro l'altra.
Qual è qualcosa che puoi fare.
Potremmo avere diversi ambiti e variabili diverse sono visibili.
Quindi questo ha senso con alcuni esempi.
Questo è sicuramente un argomento notoriamente difficile e complicato, ma ho intenzione di fare del mio meglio
per semplificarlo per te.
Iniziamo con qualcosa di semplice qui.
Dichiara la funzione matematica e tutto ciò che faremo matematica è dichiarare la variabile x uguale a
40 e poi cancellerà quel registro X. i calcoli e ne ottengono 40 stampati.
Quindi eseguiamo
Quindi all'interno di questa funzione in questo ambito chiameremmo x è uguale a 40.
Comunque al di fuori della funzione se provo ad accedere a X cosa ti aspetti che accada.
Ottengo un errore mi dice che x non è definito.
Quindi ciò che questo ci mostra è che abbiamo due diversi ambiti all'interno di questa funzione, un contesto.
X è definito qui ma al di fuori di quello e
ciò che chiameremmo lo scope globale non siamo all'interno di alcuna funzione.
Quando digito X ottengo un errore perché non sa cosa sia X.
Non è visibile in questo ambito.
Quindi, se definiamo x per x uguale, chiamiamolo basso.
Ora, se accedo a X quando sono al di fuori di questa funzione, mi trovo nella portata globale.
Ciao.
Quindi in questo contesto X è pronto.
Ma se eseguo di nuovo la matematica, cosa ti aspetti che accada questa volta.
È ancora 40 all'interno di questo contesto.
Quindi è davvero importante.
Quando creiamo una funzione ha il proprio ambito il proprio insieme di variabili.
Ciò non significa però che al posto di una
funzione non possiamo accedere a variabili definite al di fuori della funzione.
Quindi ti mostrerò un esempio.
Ho intenzione di
cancellare tutto qui e questa volta usiamo una variabile Y variabile y uguale a novantanove.
Quindi, nell'ambito globale, posso accedere a y.
matematica se voglio cancellare quel registro.
Ora, se dichiaro una funzione, chiamiamola fare più
Perché pensi che avrà un errore.
O funzionerà bene.
Proviamo a fare più matematica con le parentesi.
E questo mi dà 99.
Quindi ciò che questo ci
mostra qui è che quando definiamo qualcosa al di fuori di una funzione, abbiamo ancora accesso ad essa all'interno di quella funzione.
Pensa a questo come a un ambito figlio.
Questo è più specifico è il drill-down
in un livello più profondo e gli ambiti figlio hanno accesso a cose da trovare nell'ambito genitore.
Quindi se quell'analogia ti aiuta ad andare avanti e correre con esso.
Ma fondamentalmente riassumendo se definiamo una variabile al di fuori della funzione, possiamo usarla all'interno della funzione.
Ma il contrario non è vero.
Quindi ecco un altro esempio.
Cosa succede se dentro di fare più matematica, in realtà cambio il valore di y.
Quindi dico perché è uguale a 100.
E poi stampo y.
Cosa pensi che accada in questo caso.
Questa è una prova.
Diamo un'occhiata a ciò che è in questo momento.
Sono novantanove.
E se faccio
più matematica, ne stampa 100.
Quindi all'interno della funzione y è su cento e ne viene stampato 100.
Ma che dire al di fuori della funzione.
Cosa succede se scrivo Y.
È anche 100.
Quindi, quello che è successo qui è che ho dichiarato y prima come '99 al di fuori della funzione nell'ambito globale.
E poi all'interno della funzione ho cambiato y.
Quindi questo non ha dichiarato una nuova variabile y
nella portata in cui effettivamente ha trovato quello vecchio che è stato dichiarato qui e lo ha cambiato.
Quindi qui.
Perché è cento e fuori Perché anche 100.
Quindi, ecco un altro esempio, chiariamo tutto questo.
Facciamo una frase variabile uguale in alto e poi facciamo in modo che una funzione faccia qualcosa.
So che questi nomi non sono terribilmente creativi e invece di fare qualcosa ho intenzione di provare a cambiare.
Ho intenzione di fare una nuova frase VAR uguale addio.
E poi alla prossima riga lo stamperò.
Quindi cosa ti aspetti che accada qui.
facciamo qualcosa, addio.
Se corriamo
Quindi quello che ci dice che invece di fare qualcosa per A è uguale a ciao.
Ma al di fuori di ciò che è la frase uguale a è ancora alto lì.
Quindi aggiungendo qui la frase var equivale a dire addio.
Questo ci rende una nuova variabile piuttosto che usare quella definita qui.
Rende nuova variabile di frase che esiste solo in questo ambito solo all'interno di fare qualcosa è addio frase.
Quindi, al suo interno, ci salutiamo. Saliamo