1
00:00:00,270 --> 00:00:05,310
Dans cette vidéo, nous allons discuter d'un concept appelé scope en javascript.

2
00:00:05,310 --> 00:00:09,640
Portée se réfère au contexte dans lequel un code est exécuté.

3
00:00:09,900 --> 00:00:14,610
Donc partout où nous avons un code, disons que c'est à l'intérieur d'une fonction appelée Salut.

4
00:00:15,210 --> 00:00:18,550
Ce code s'exécute dans un contexte spécifique.

5
00:00:18,720 --> 00:00:27,620
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.

6
00:00:27,750 --> 00:00:33,290
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.

7
00:00:33,360 --> 00:00:34,740
Ce qui est quelque chose que vous pouvez faire.

8
00:00:34,950 --> 00:00:39,070
Nous pouvons avoir différentes étendues et différentes variables sont visibles.

9
00:00:39,150 --> 00:00:41,490
Donc, ce sera logique avec quelques exemples.

10
00:00:41,490 --> 00:00:47,950
C'est certainement un sujet notoirement difficile et compliqué, mais je vais essayer de mon mieux pour le simplifier pour vous.

11
00:00:48,660 --> 00:00:50,880
Commençons par quelque chose de simple ici.

12
00:00:50,880 --> 00:01:09,390
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 ..

13
00:01:09,690 --> 00:01:15,970
Alors allons faire des maths et ils obtiennent 40 imprimés.

14
00:01:16,320 --> 00:01:22,720
Donc, à l'intérieur de cette fonction dans cette portée, nous l'appelons x est égal à 40.

15
00:01:22,740 --> 00:01:28,760
Cependant, en dehors de la fonction, si j'essaie d'accéder à X, qu'est-ce que vous attendez de vous.

16
00:01:29,760 --> 00:01:32,810
Je reçois une erreur, il me dit x n'est pas défini.

17
00:01:32,880 --> 00:01:38,650
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.

18
00:01:38,760 --> 00:01:46,200
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.

19
00:01:46,350 --> 00:01:49,900
Quand je tape X, je reçois une erreur car il ne sait pas ce qu'est X.

20
00:01:49,920 --> 00:01:52,840
Il n'est pas visible dans cette portée.

21
00:01:53,010 --> 00:02:01,200
Donc, si nous définissons x pour x égaux, appellons cela bas.

22
00:02:01,260 --> 00:02:07,020
Maintenant, si j'accède à X lorsque je suis en dehors de cette fonction juste dans la portée mondiale que je reçois.

23
00:02:07,030 --> 00:02:07,810
Bonjour.

24
00:02:08,160 --> 00:02:10,450
Dans ce contexte X est bonjour.

25
00:02:10,770 --> 00:02:17,200
Mais si je cours faire des maths à nouveau ce que vous attendez-vous à ce moment-ci.

26
00:02:17,400 --> 00:02:21,180
C'est encore 40 dans ce contexte.

27
00:02:21,180 --> 00:02:22,490
C'est vraiment important.

28
00:02:22,800 --> 00:02:27,250
Lorsque nous créons une fonction, elle a sa propre portée son propre ensemble de variables.

29
00:02:27,510 --> 00:02:33,770
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.

30
00:02:33,960 --> 00:02:35,290
Donc je vais vous montrer un exemple.

31
00:02:35,520 --> 00:02:43,700
Je vais tout effacer ici et cette fois, utilisons une variable Y variable y est égale à quatre-vingt-dix-neuf.

32
00:02:44,280 --> 00:02:47,510
Donc, dans la portée mondiale, je peux y accéder.

33
00:02:47,610 --> 00:02:58,260
Maintenant, si je déclare une fonction Appelons cela faire plus de maths si je veux annuler ce journal.

34
00:02:58,260 --> 00:03:01,220
Pourquoi pensez-vous aura une erreur.

35
00:03:01,500 --> 00:03:03,360
Ou cela fonctionnera-t-il très bien.

36
00:03:04,230 --> 00:03:08,480
Essayons de faire plus de maths avec des parenthèses.

37
00:03:08,850 --> 00:03:10,420
Et cela me donne 99.

38
00:03:10,830 --> 00:03:19,520
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.

39
00:03:19,530 --> 00:03:21,780
Pensez à cela comme une portée enfant.

40
00:03:21,900 --> 00:03:30,200
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.

41
00:03:30,300 --> 00:03:32,900
Donc, si cette analogie vous aide à aller de l'avant et à courir avec elle.

42
00:03:33,090 --> 00:03:38,980
Mais essentiellement pour résumer si nous définissons une variable en dehors de la fonction, nous pouvons l'utiliser dans la fonction.

43
00:03:39,210 --> 00:03:41,840
Mais le contraire n'est pas vrai.

44
00:03:43,020 --> 00:03:44,390
Voici un autre exemple.

45
00:03:44,460 --> 00:03:50,290
Que faire si à l'intérieur de faire plus de maths, je change la valeur de y.

46
00:03:50,370 --> 00:03:56,260
Je dis donc pourquoi est égal à 100.

47
00:03:56,550 --> 00:03:58,200
Et puis je imprime y.

48
00:03:58,710 --> 00:04:02,090
Que pensez-vous que se passe dans ce cas.

49
00:04:02,330 --> 00:04:03,260
C'est un essai.

50
00:04:03,510 --> 00:04:05,060
Alors, regardons ce qui est en ce moment.

51
00:04:05,070 --> 00:04:06,130
Il est quatre-vingt-dix-neuf.

52
00:04:06,430 --> 00:04:14,910
Et si je fais plus de maths, il imprime 100.

53
00:04:14,910 --> 00:04:19,080
Donc à l'intérieur de la fonction y est sur cent et il a imprimé 100.

54
00:04:19,080 --> 00:04:21,370
Mais qu'en est-il de l'extérieur de la fonction.

55
00:04:21,720 --> 00:04:23,960
Que se passe-t-il si je tape juste Y.

56
00:04:24,210 --> 00:04:26,160
C'est aussi 100.

57
00:04:26,610 --> 00:04:33,930
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.

58
00:04:34,380 --> 00:04:37,820
Et puis à l'intérieur de la fonction j'ai changé y.

59
00:04:37,980 --> 00:04:47,670
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é.

60
00:04:47,670 --> 00:04:49,770
Donc, ici.

61
00:04:49,770 --> 00:04:54,280
Pourquoi est cent et à l'extérieur Pourquoi est-ce aussi 100.

62
00:04:54,300 --> 00:04:57,140
Donc voici un autre exemple, nous allons éclaircir tout cela.

63
00:04:57,420 --> 00:05:07,380
Faisons une phrase variable égale haut là et puis faisons une fonction faire quelque chose.

64
00:05:07,380 --> 00:05:16,720
Je sais que ces noms ne sont pas terriblement créatifs et au lieu de faire quelque chose que je vais essayer de changer.

65
00:05:17,010 --> 00:05:23,350
Je vais faire une nouvelle phrase VAR égale au revoir.

66
00:05:24,270 --> 00:05:30,520
Et puis sur la ligne suivante, je vais l'imprimer.

67
00:05:30,570 --> 00:05:33,730
Alors qu'est-ce que vous attendez ici.

68
00:05:34,830 --> 00:05:42,100
Si nous courons faire quelque chose, il imprimer au revoir.

69
00:05:42,120 --> 00:05:47,570
Donc, ce qui nous dit est au lieu de faire quelque chose pour A est égal à au revoir.

70
00:05:47,880 --> 00:05:52,190
Mais en dehors de cela ce qui est phrase égale à il est toujours élevé là-bas.

71
00:05:52,500 --> 00:05:56,290
Ainsi en ajoutant loin ici la phrase de var égale au revoir.

72
00:05:56,430 --> 00:06:00,780
Cela nous fait une nouvelle variable plutôt que d'utiliser celle définie ici.

73
00:06:00,780 --> 00:06:08,190
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.
