Donc, pour terminer ici, j'ai un petit quizz.
Je vais juste coller dans un code et je voudrais que vous évaluez mentalement sans taper ce que vous pensez que cela renvoie.
Nous définissons donc la fonction et la rappelons à la fin.
Donc ce qui est revenu de faire des maths.
La réponse est donc vraie.
Alors passons par la façon dont cela fonctionne.
Très première chose que nous déclarons être engourdi à 8.
Ensuite, nous avons une fonction de maths, mais qui ne fonctionne pas encore.
Donc la prochaine chose qui s'exécute est engourdie plus égale à 1.
Donc, le nombre est maintenant 9.
Donc, c'est la même que celle-ci apparaissent parce qu'ils sont dans la même portée que nous sommes appeler et faire des maths.
Donc, au lieu de faire des maths, nous écrivons numb plus égale à 1.
SO NUMB était neuf.
Il s'agit du même nombre.
Donc c'est maintenant 10.
Donc, tout ce qui est ici est de vérifier si numb est également divisible par cinq.
Donc 10 est divisible par cinq.
Donc nous retournons vrai et c'est tout.
Donc, comme je l'ai mentionné portée est notoirement difficile à expliquer.
C'est quelque chose que nous avons seulement gratté la surface d'ici, mais nous avons couvert les parties importantes qui est que chaque fois que vous définissez une nouvelle fonction, il obtient sa propre nouvelle portée et il peut accéder aux variables qui ont été définies en dehors de la fonction, mais à l'intérieur d'une fonction si nous Défini quelque chose qu'il n'est pas accessible en dehors de la fonction.
Donc, il ya un autre exemple rapide que je veux mettre en évidence qui est si j'ai deux fonctions un appelé le haut de gamme à l'intérieur de salut je vais juste déclarer un nom de variable égale Rusti et puis je vais à coût de nom Lague et puis Je vais avoir une autre fonction appelée par et je ne vais pas définir Rustie là, mais je vais au nom de blog Conchobar si je cours haut et je l'exécuter.
I bien sûr obtenir rouillé parce que j'ai défini un nom de variable est Rusty au lieu de haute.
Et puis je l'ai imprimé.
Si je fais ceci avec par Cependant je reçois indéfini et cela se produit parce que le nom n'est pas accessible dans la portée de ceci par la fonction.
Cela montre donc que chaque fonction a sa propre portée et ne sont pas partagées entre les fonctions.