1
00:00:00,840 --> 00:00:06,120
La dernière pièce fondamentale des fonctions Javascript que nous avons encore à couvrir est le mot clé retour.

2
00:00:06,210 --> 00:00:10,260
Donc, cette vidéo va se concentrer sur conceptuellement ce que le mot clé de retour est.

3
00:00:10,410 --> 00:00:14,260
Et puis aussi comment écrire des fonctions qui l'utilisent.

4
00:00:14,310 --> 00:00:17,120
J'aime donc imaginer que les fonctions sont une machine.

5
00:00:17,230 --> 00:00:21,920
Nous écrivons une fonction et elle prend quelques entrées et ceux-ci seraient les arguments.

6
00:00:22,110 --> 00:00:24,530
Et il fait quelque chose avec ces entrées ne mathématiques.

7
00:00:24,660 --> 00:00:29,660
Il vérifie si un utilisateur est connecté, il ajoute à un score, puis il renvoie quelque chose à la fin.

8
00:00:29,690 --> 00:00:32,030
Il ya une sortie qu'il renvoie.

9
00:00:32,430 --> 00:00:37,910
Donc, jusqu'à présent, les fonctions ont seulement pris des entrées et ils n'ont réellement rien renvoyé.

10
00:00:37,950 --> 00:00:46,700
Donc, je vais vous montrer ce que je veux dire si nous avons une fonction appelée Square que nous avons vu dans la dernière leçon et carré a pris une entrée.

11
00:00:46,950 --> 00:00:59,710
Appelons simplement X et tout ce que nous avons fait à l'intérieur a été annulé le log x fois X ..

12
00:01:00,120 --> 00:01:09,060
Si je suis en carré et je passe un chiffre comme 4, je vois le numéro 16 ici.

13
00:01:09,720 --> 00:01:20,140
Donc, il semble que j'ai une sortie ce que j'ai effectivement est quelque chose d'être imprimé sur la console avec la console de dialogue, mais je n'ai pas réellement quelque chose qui est retourné.

14
00:01:20,310 --> 00:01:22,010
Donc, il y a vraiment une grande différence.

15
00:01:22,200 --> 00:01:28,500
Si j'utilise le mot clé de retour, cela signifie que je peux capturer la valeur qui revient hors de la fonction.

16
00:01:28,500 --> 00:01:30,150
En ce moment je ne peux pas le capturer.

17
00:01:30,390 --> 00:01:33,110
Ainsi, un journal constant suffit de l'imprimer sur la console.

18
00:01:33,270 --> 00:01:39,100
Donc, seul un développeur verrait jamais que de toute façon et je ne peux pas l'utiliser dans toute autre partie de mon code.

19
00:01:39,150 --> 00:01:52,320
Alors disons que je voulais faire quelque chose où j'avais une ligne qui ressemblait à quatre carrés est et puis je voulais mettre ce qui revient de la case quatre.

20
00:01:52,360 --> 00:01:56,120
Donc, quelque chose comme ça, je voulais les mettre ensemble.

21
00:01:56,340 --> 00:02:00,620
Donc quatre carrés est plus carré de quatre.

22
00:02:00,810 --> 00:02:06,030
En ce moment si je fais cela il me dit juste quatre carré est indéfini.

23
00:02:06,030 --> 00:02:09,790
Et c'est parce que rien n'est retourné ou manquant cette sortie.

24
00:02:10,050 --> 00:02:15,460
Ainsi, même si elle imprime quelque chose, elle ne dure pas, elle n'envoie rien.

25
00:02:15,480 --> 00:02:18,130
Donc, pour ce faire, nous utilisons le mot clé return.

26
00:02:18,180 --> 00:02:20,200
C'est donc un changement très simple.

27
00:02:20,220 --> 00:02:26,980
Nous allons juste revenir en arrière et au lieu de l'exploitation forestière comparable, je vais juste écrire le retour.

28
00:02:27,480 --> 00:02:31,690
Donc, le mot clé return va retourner une chose par fonction.

29
00:02:31,800 --> 00:02:48,530
Nous pourrions théoriquement avoir plusieurs déclarations de retour, mais seulement la première va effectivement s'exécuter à moins que nous ayons une sorte de déclaration if où au lieu d'une instruction IF nous avons retourné une chose et au lieu de l'autre nous avons retourné quelque chose mais encore seulement un de ceux Va jamais vraiment revenir.

30
00:02:48,870 --> 00:02:52,750
Donc, dans ce cas, nous retournons X fois x.

31
00:02:52,860 --> 00:03:04,430
Donc, si je dirige ce carré de quatre, vous voyez que cela me montre 16 mais c'est un peu différent.

32
00:03:04,440 --> 00:03:10,240
La façon dont il a imprimé 16 vous voyez cette flèche ici et qui me dit que c'est une valeur de retour.

33
00:03:10,500 --> 00:03:23,400
Donc, si je viens d'annuler ne pas enregistrer quelque chose sur son propre comme annuler log pour un numéro d'impression de quatre, mais juste en dessous, vous pouvez voir il ya une valeur de retour dans le journal constant effectivement retourne indéfini.

34
00:03:23,610 --> 00:03:26,580
Donc, cela explique pourquoi nous avons vu tellement indéfinis.

35
00:03:26,580 --> 00:03:28,200
Si vous vous demandez ce que c'est.

36
00:03:28,200 --> 00:03:31,480
J'ai réussi à expliquer jusqu'à ce que nous ayons atteint le mot clé de retour.

37
00:03:31,560 --> 00:03:33,730
Chaque fonction renvoie donc quelque chose.

38
00:03:33,890 --> 00:03:38,490
Et si nous ne lui disons pas explicitement ce qu'il faut retourner il retourne undefined.

39
00:03:38,490 --> 00:03:48,990
Donc, nous avons eu notre fonction carrée et quand nous allons l'exécuter il est retourné undefine même si elle a imprimé 16 encore retourné indéfini.

40
00:03:49,050 --> 00:04:03,910
Donc, pour utiliser la valeur maintenant pour capturer la sortie du carré carré de quatre si je veux utiliser que quelque part, je peux rappeler cette ligne qui ressemble à ce 4 carré est plus carré de 4.

41
00:04:04,140 --> 00:04:05,470
Et cela va fonctionner.

42
00:04:05,660 --> 00:04:11,760
Il va passer pour un il va multiplier X fois x 16 puis retourné 16.

43
00:04:11,760 --> 00:04:16,170
Il va l'envoyer hors de la fonction et le mettre ici.

44
00:04:16,320 --> 00:04:20,370
Et nous obtenons donc quatre au carré est de 16.

45
00:04:20,370 --> 00:04:25,510
L'autre chose que je peux faire avec le mot-clé retour est de l'enregistrer dans une variable afin que je puisse faire quelque chose comme ça.

46
00:04:25,740 --> 00:04:31,440
Le résultat de Var équivaut au carré de 104.

47
00:04:32,360 --> 00:04:37,800
Et maintenant, si je regarde les résultats, j'obtiens dix mille huit cent seize.

48
00:04:37,800 --> 00:04:49,330
On a donc évalué ce carré de fonction de 104 qui a retourné 10000 816 qui a ensuite été stocké dans le résultat.

49
00:04:51,300 --> 00:05:06,670
J'ai donc un autre exemple d'une fonction qui renvoie quelque chose qu'il est appelé en majuscule et il prend une chaîne comme le mot Paris et ce qu'il fait est il capitalise la première lettre et renvoie la chaîne entière avec cette première lettre en majuscule.

50
00:05:06,810 --> 00:05:11,150
Paris devient alors Paris avec un capital P.

51
00:05:11,330 --> 00:05:22,540
Donc, le point entier de cette fonction est qu'il modifie un peu nos données d'origine afin que nous passons dans la chaîne et ensuite nous récupérons une version de la chaîne qui a la première lettre en majuscule.

52
00:05:22,830 --> 00:05:27,450
La logique de la façon dont il capitalise en fait la première lettre n'est pas ce que je veux souligner ici.

53
00:05:27,540 --> 00:05:34,840
Ce que je veux souligner est-ce ici, j'ai une ville variable qui est Paris P minuscule.

54
00:05:35,280 --> 00:05:42,080
Et puis je suis en capitalisant capitalisé ville et l'enregistrement de la valeur de retour à une nouvelle variable.

55
00:05:42,090 --> 00:05:50,010
Donc c'est quelque chose que nous allons faire beaucoup exécutera une fonction enregistrer la valeur de retour à une variable afin que nous puissions l'utiliser à nouveau ailleurs.

56
00:05:50,010 --> 00:05:55,050
Donc, si vous vous demandez comment cette fonction fonctionne la première partie prend la première lettre.

57
00:05:55,080 --> 00:05:58,450
Donc le caractère à l'index 0 et un majuscule est-il.

58
00:05:58,590 --> 00:06:04,320
Donc, cela nous donnerait en majuscule P et ensuite la ficelle que la tranche prend un nombre.

59
00:06:04,380 --> 00:06:05,800
Dans ce cas 1.

60
00:06:06,300 --> 00:06:09,530
Donc, cela prend tout de l'indice 1 en avant.

61
00:06:10,080 --> 00:06:23,610
A R Je suppose que tout en minuscules et il smashes que, avec le signe plus avec la capitale P Ainsi, nous capitalisant la première lettre, puis en prenant tout le reste qui est après le premier caractère et la combinaison des deux et de retourner cela.

62
00:06:24,360 --> 00:06:29,230
Un autre aspect du mot clé return est donc qu'il arrête l'exécution d'une fonction.

63
00:06:29,610 --> 00:06:32,900
Donc, dès que nous retournons quelque chose, la fonction est terminée.

64
00:06:33,240 --> 00:06:37,700
Donc, le point entier d'une fonction est qu'il prend une sorte d'entrée et puis il retourne quelque chose.

65
00:06:37,710 --> 00:06:41,440
Donc, dès qu'il retourne, c'est juste la fin de l'exécution de la fonction.

66
00:06:41,640 --> 00:06:43,080
Voici donc un exemple.

67
00:06:43,110 --> 00:06:47,450
Il s'agit de la même fonction capitale sauf avec une petite différence.

68
00:06:47,460 --> 00:07:00,020
Et c'est vérifier si nous passons dans un nombre au lieu d'une chaîne qui est ce que cette ligne fait si le type d'entrée est égal au nombre puis retournons juste ce n'est pas une chaîne.

69
00:07:00,210 --> 00:07:02,260
Nous ne voulons pas nous occuper de cela.

70
00:07:02,340 --> 00:07:09,990
Donc, ce retour si nous passons et un nombre court-circuit et ce code ne s'exécute même pas s'il n'y a pas d'instruction L.

71
00:07:10,140 --> 00:07:11,960
Donc, ce code devrait s'exécuter.

72
00:07:12,000 --> 00:07:15,450
En fait, il ne fonctionne pas du tout parce que ce circuit court.

73
00:07:15,480 --> 00:07:20,690
Si nous passons dans un nombre sinon, si nous passons dans une chaîne comme Paris ce n'est pas vrai.

74
00:07:20,760 --> 00:07:22,620
Donc, cette déclaration retour n'est jamais exécuté.

75
00:07:22,830 --> 00:07:24,990
Et puis cette déclaration de retour est fausse.

76
00:07:26,040 --> 00:07:35,330
Donc la toute dernière chose que je veux ajouter à la fin ici, c'est qu'il ya deux syntaxes différentes pour déclarer une fonction et la première est ce que nous avons été en utilisant.

77
00:07:35,340 --> 00:07:37,410
C'est ce qu'on appelle une déclaration de fonction.

78
00:07:37,980 --> 00:07:41,060
Ainsi nous écrivons la fonction et ensuite le nom de notre fonction.

79
00:07:41,280 --> 00:07:47,220
Et puis nous passons dans les arguments et réécrire notre corps de fonction à l'intérieur des deux parenthèses.

80
00:07:47,250 --> 00:07:50,660
Il existe une autre façon d'écrire une fonction appelée expression de fonction.

81
00:07:51,000 --> 00:07:59,110
Et la façon dont nous faisons cela est que nous écrivons une variable en majuscule et que nous définissons que égale à une fonction.

82
00:07:59,640 --> 00:08:02,970
Ce sont donc deux manières de définir des fonctions équivalentes.

83
00:08:02,970 --> 00:08:05,980
C'est une déclaration et c'est une expression.

84
00:08:06,270 --> 00:08:13,580
Donc, il ya une petite différence qui est si je déclare fonction de cette façon var capitalisée égale fonction.

85
00:08:13,890 --> 00:08:19,970
Si je viens de décider de changer les majuscules pour être égal au nombre 10 ou le nombre 15.

86
00:08:20,100 --> 00:08:21,720
Ma fonction est perdue.

87
00:08:22,200 --> 00:08:24,000
Alors je vais vous montrer ce que je veux dire.

88
00:08:24,840 --> 00:08:27,260
Je vais donc déclarer une fonction var.

89
00:08:27,300 --> 00:08:36,430
Say hi est égal à une fonction et toute la fonction fait est annulé log.

90
00:08:37,180 --> 00:08:38,240
Bonjour.

91
00:08:38,640 --> 00:08:40,350
Juste comme ça.

92
00:08:40,990 --> 00:08:47,550
Et donc je peux appeler dire salut et exactement la même manière que les déclarations de fonction que nous avons vu.

93
00:08:47,910 --> 00:08:54,790
Mais je peux aussi décider que dire hi est maintenant égal à 34.

94
00:08:54,880 --> 00:09:04,350
Maintenant, si je me réfère à dire salut je ne peux pas l'évaluer, je ne peux pas l'exécuter comme une fonction plus que nous progressons dans la classe.

95
00:09:04,380 --> 00:09:10,620
Nous utiliserons des déclarations et des expressions, et nous parlerons également davantage de la raison pour laquelle vous utiliserez l'un sur l'autre.
