Dans cette vidéo, nous allons discuter d'un concept appelé scope en javascript.
Portée se réfère au contexte dans lequel un code est exécuté.
Donc partout où nous avons un code, disons que c'est à l'intérieur d'une fonction appelée Salut.
Ce code s'exécute dans un contexte spécifique.
Et donc il pourrait avoir certaines variables et pourrait avoir certaines propriétés et la portée se réfère à quelque variables et propriétés sont visibles dans cette fonction.
Et cela pourrait être différent à l'intérieur d'une autre fonction ou si nous avions des fonctions imbriquées l'une dans l'autre.
Ce qui est quelque chose que vous pouvez faire.
Nous pouvons avoir différentes étendues et différentes variables sont visibles.
Donc, ce sera logique avec quelques exemples.
C'est certainement un sujet notoirement difficile et compliqué, mais je vais essayer de mon mieux pour le simplifier pour vous.
Commençons par quelque chose de simple ici.
Declare function do math et tout ce que les maths que nous ferons est de déclarer la variable x égale à 40 et puis il va annuler ce log X ..
Alors allons faire des maths et ils obtiennent 40 imprimés.
Donc, à l'intérieur de cette fonction dans cette portée, nous l'appelons x est égal à 40.
Cependant, en dehors de la fonction, si j'essaie d'accéder à X, qu'est-ce que vous attendez de vous.
Je reçois une erreur, il me dit x n'est pas défini.
Donc ce que cela nous montre, c'est que nous avons deux périmètres différents à l'intérieur de cette fonction est un contexte.
X est défini ici, mais en dehors de cela et ce que nous appellerions la portée globale, nous ne sommes pas à l'intérieur de toute fonction.
Quand je tape X, je reçois une erreur car il ne sait pas ce qu'est X.
Il n'est pas visible dans cette portée.
Donc, si nous définissons x pour x égaux, appellons cela bas.
Maintenant, si j'accède à X lorsque je suis en dehors de cette fonction juste dans la portée mondiale que je reçois.
Bonjour.
Dans ce contexte X est bonjour.
Mais si je cours faire des maths à nouveau ce que vous attendez-vous à ce moment-ci.
C'est encore 40 dans ce contexte.
C'est vraiment important.
Lorsque nous créons une fonction, elle a sa propre portée son propre ensemble de variables.
Cela ne signifie pas que, au lieu d'une fonction, nous ne pouvons pas accéder aux variables qui sont définies en dehors de la fonction.
Donc je vais vous montrer un exemple.
Je vais tout effacer ici et cette fois, utilisons une variable Y variable y est égale à quatre-vingt-dix-neuf.
Donc, dans la portée mondiale, je peux y accéder.
Maintenant, si je déclare une fonction Appelons cela faire plus de maths si je veux annuler ce journal.
Pourquoi pensez-vous aura une erreur.
Ou cela fonctionnera-t-il très bien.
Essayons de faire plus de maths avec des parenthèses.
Et cela me donne 99.
Donc, ce qui nous montre ici, c'est que lorsque nous définissons quelque chose en dehors d'une fonction, nous avons toujours accès à elle à l'intérieur de cette fonction.
Pensez à cela comme une portée enfant.
C'est plus spécifique, c'est le forage vers le bas dans un niveau plus profond et enfants étendues ont accès à des choses à trouver dans la portée parent.
Donc, si cette analogie vous aide à aller de l'avant et à courir avec elle.
Mais essentiellement pour résumer si nous définissons une variable en dehors de la fonction, nous pouvons l'utiliser dans la fonction.
Mais le contraire n'est pas vrai.
Voici un autre exemple.
Que faire si à l'intérieur de faire plus de maths, je change la valeur de y.
Je dis donc pourquoi est égal à 100.
Et puis je imprime y.
Que pensez-vous que se passe dans ce cas.
C'est un essai.
Alors, regardons ce qui est en ce moment.
Il est quatre-vingt-dix-neuf.
Et si je fais plus de maths, il imprime 100.
Donc à l'intérieur de la fonction y est sur cent et il a imprimé 100.
Mais qu'en est-il de l'extérieur de la fonction.
Que se passe-t-il si je tape juste Y.
C'est aussi 100.
Donc ce qui s'est passé ici, c'est que j'ai déclaré y en premier comme '99 en dehors de la fonction dans la portée globale.
Et puis à l'intérieur de la fonction j'ai changé y.
Donc, cela n'a pas déclaré une nouvelle variable y dans la portée, il a réellement trouvé l'ancien qui a été déclaré ici et il a changé.
Donc, ici.
Pourquoi est cent et à l'extérieur Pourquoi est-ce aussi 100.
Donc voici un autre exemple, nous allons éclaircir tout cela.
Faisons une phrase variable égale haut là et puis faisons une fonction faire quelque chose.
Je sais que ces noms ne sont pas terriblement créatifs et au lieu de faire quelque chose que je vais essayer de changer.
Je vais faire une nouvelle phrase VAR égale au revoir.
Et puis sur la ligne suivante, je vais l'imprimer.
Alors qu'est-ce que vous attendez ici.
Si nous courons faire quelque chose, il imprimer au revoir.
Donc, ce qui nous dit est au lieu de faire quelque chose pour A est égal à au revoir.
Mais en dehors de cela ce qui est phrase égale à il est toujours élevé là-bas.
Ainsi en ajoutant loin ici la phrase de var égale au revoir.
Cela nous fait une nouvelle variable plutôt que d'utiliser celle définie ici.
Il fait la nouvelle variable d'expression qui n'existe que dans cette portée seulement à l'intérieur de faire quelque chose est orthographié au revoir.