Remi Forax
Pour éviter de dupliquer le code,
on déclare des fonctions (avec le mot clé function).
name est un paramètre qui prend successivement les valeurs "Bob" puis "Kathy"
Une fonction peut avoir une valeur de retour que l'on renvoie avec le mot-clef return.
Si on omet le return, la valeur de retour est undefined.
Les fonctions en JavaScript peuvent être récursives.
Lors de l'appel, si il y a trop d'arguments, ils seront ignorés, si il y a pas assez d'arguments, les paramètres auront la valeur undefined
On déclare le paramètre et on regarde
si sa valeur est undefined.
Si une fonction fait partie d'une expression,
elle n'a pas nécessairement un nom
Pour les fonctions anonymes, on peut utiliser
les syntaxes
(arguments) => expression
(arguments) => { instructions }
Si on a un seul argument, on peut omettre les parenthèses
argument => expression
argument => { instructions }
Une fonction peut elle-même contenir une fonction nommée ou une fonction flèche.
Une fonction peut accéder aux variables
de la fonction englobante.
On appel une fonction qui utilise les variables englobantes une closure.
Une fonction comme instruction crée une variable
du même nom que la fonction.
est équivalent à
On peut utiliser () sur n'importe quelle valeur.
Cela ne marche que sur les fonctions.
Une fonction peut prendre une fonction en paramètre
Une fonction peut renvoyer une fonction.
parseInt() et parseFloat() permettent la conversion de String vers number, toString() fait le contraire.
toString() est une fonction que l'on applique sur une valeur, on appelle cela une méthode
Math contient les fonctions pour le calcul flottant
Math permet de ranger les fonctions en évitant qu'elles polluent l'environement global
Math.random() permet d'obtenir une valeur pseudo-aléatoire entre [0, 1[