Fonctions

Raconté par Vincent Jugé
sur la base d'un cours créé par Rémi Forax

Pourquoi des fonctions ?

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".


Fonction et valeur de retour

Une fonction peut avoir une valeur de retour que l'on renvoie avec le mot-clé return.


Fonction et return

Si on omet le return, la valeur de retour est undefined.


Paramètres et arguments

Lors de l'appel, s'il y a trop d'arguments, ils seront ignorés ; s'il n'y a pas assez d'arguments, les paramètres auront la valeur undefined.


Notation flèche (1/2)

On peut utiliser les syntaxes
(arguments) => expression
(arguments) => { instructions }



Notation flèche (2/2)

Si on a un seul argument, on peut omettre les parenthèses :
argument => expression
argument => { instructions }


Jouer avec les fonctions

Fonction comme valeur

Les fonctions sont des variables de type function.


Attention à l'égalité !


Fonction qui prend une fonction en argument

Une fonction peut prendre une fonction en paramètre.


Fonction récursive

Les fonctions en JavaScript peuvent être récursives.


Imbrication de fonctions

Une fonction peut elle-même contenir une fonction locale.


Closure

Une fonction locale peut accéder aux variables de la fonction englobante.


Une fonction qui utilise les variables englobantes est appelée closure.

Fonctions prédéfinies

String vers number

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

Math contient les fonctions pour le calcul flottant.

Math permet de ranger les fonctions en évitant qu'elles polluent l'environement global.

Random

Math.random() permet d'obtenir une valeur pseudo-aléatoire entre 0 et 1.


Charger un script externe

Scripts externes

La balise script permet de charger un script Javascript.


ou bien