Bentornato nel video precedente, apprendiamo che quando la parola chiave non si trova all'interno di un oggetto
dichiarato, il suo valore è l'oggetto globale.
Dimostriamo rapidamente cosa intendo per oggetto dichiarato nel caso in cui il video precedente ti abbia lasciato
ancora un po 'confuso.
Ricorda che il materiale qui è piuttosto impegnativo.
Quindi prova a guardare questi video un paio di volte e a digitare gli esempi di codice per rafforzare le tue conoscenze.
Ho intenzione di creare un oggetto vuoto chiamato dati.
Quello che ho appena fatto è dichiarato un oggetto che l'oggetto dati non esisteva finché non l'ho dichiarato.
Ora ho intenzione di allegare una proprietà su questo oggetto chiamato istruttore e impostare il valore uguale a LTE.
Ora il nostro oggetto di dati che abbiamo dichiarato ha una chiave con il valore di elhi al suo interno.
Questo è ciò che intendiamo quando diciamo all'interno di un oggetto dichiarato.
Se questo ti confonde ancora, va bene.
Avrà ancora più senso quando esamineremo la seconda regola e vedremo la parola chiave all'interno di un oggetto.
Ora finiamo con la prima regola.
Come puoi vedere qui quando inseriamo la parola chiave, all'interno di una funzione il suo valore è ancora
l'oggetto globale.
Ricorda che abbiamo detto che la regola globale si applica a meno che la parola chiave non sia all'interno di un oggetto
dichiarato ma all'interno di una funzione al momento.
Quindi quando chiamiamo la funzione ciò che è il valore restituito è l'oggetto finestra.
Ora guardiamo un ultimo esempio.
Cosa succede se alle proprietà vengono associate proprietà quando il suo valore è l'oggetto globale.
E ricorda quando dico Oggetto Globale intendo l'oggetto finestra in diversi ambienti javascript.
Questo valore cambierà.
Ma dal momento che siamo nel browser, l'oggetto globale è l'oggetto finestra.
Ora diamo un'occhiata alle nostre variabili in questa funzione nelle variabili in questa funzione.
Alleghiamo una proprietà alla parola chiave chiamata Persona e impostandola come uguale a Ellie.
Dal momento che la parola chiave si riferisce all'oggetto globale, qualsiasi cosa vi attacchiamo diventa una variabile globale che significa
che possiamo usarla al di fuori della funzione.
Questo può sembrare qualcosa che potremmo voler fare, ma questa è in realtà una pessima pratica.
Rivediamo rapidamente come variabili e scope funzionano in javascript.
Vado a dichiarare una variabile chiamata cane e detto il valore uguale a Rusty.
internal dichiarare una variabile chiamata person usando la parola chiave VAR e detta uguale al codice.
Poi farò una funzione chiamata mite person an
Dal momento che ho dichiarato questa variabile all'interno della funzione e non restituisco il suo valore, non ho
accesso ad essa al di fuori della funzione.
Tuttavia, dal momento che ho dichiarato la mia variabile di cane nell'ambito globale, ho accesso ad esso ovunque.
Ora possiamo aggirare il problema di non essere in grado di accedere alla nostra variabile persona omettendo la
parola chiave VAR all'interno della nostra funzione.
Tuttavia questa è una pessima pratica.
hanno un valore e quindi assegnare tali valori in un secondo momento in una funzione.
In genere è consigliabile dichiarare tutte le nostre variabili che vogliamo utilizzare in più funzioni nella parte
superiore del nostro codice, anche se non
Sfortunatamente, dato che la parola chiave è l'oggetto globale, è abbastanza facile dichiarare accidentalmente
variabili globali all'interno di una funzione.
Vediamo un esempio.
Ho intenzione di fare una funzione chiamata errore all'interno di una proprietà sulla parola chiave chiamata
cattiva idea per essere uguale alla stringa.
Ops.
Ora chiamerò quella funzione e possiamo vedere che ho accesso alla mia variabile idea cattiva.
Ho accidentalmente creato una variabile globale.
Fortunatamente in si 5 è stata aggiunta la precedente versione di javascript che è stata chiamata modalità rigorosa per aiutarci.
Gli sviluppatori di Javascript leggono meglio far fronte quando la modalità rigorosa è abilitata.
Che puoi fare aggiungendo l'uso rigoroso tra virgolette doppie.
Il valore della parola chiave questo quando all'interno di una funzione non è definito.
Non è l'oggetto globale.
Ciò significa che se proviamo ad associarvi delle proprietà, si ottiene un errore di tipo.
Dal momento che non possiamo associare le proprietà a undefined potresti aver visto questo errore un po '.
Questo ci impedisce di creare accidentalmente variabili globali e ci consente di utilizzare le best practice di javascript.
In questo video abbiamo esaminato la prima regola per determinare la parola chiave e abbiamo visto
come possiamo creare accidentalmente variabili globali all'interno delle funzioni.
Abbiamo anche visto come la modalità rigorosa può impedirci di commettere questo errore nel prossimo video.
Discuteremo la seconda regola e quale sarà il valore della parola chiave quando si trova
all'interno di un oggetto dichiarato