Introduction à JavaScript - WOA JS
Open Source Your Knowledge, Become a Contributor
Technology knowledge has to be shared and made accessible for free. Join the movement.
Les fonctions
JavaScript offre, comme tous les langages, la possibilité de définir ses propres fonctions.
Les fonctions peuvent renvoyer une valeur grâce au mot clé return
, mais il est optionnel.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// fonction sans return
function printHelloWorld() {
console.log('Hello World');
}
printHelloWorld();
// fonction qui retourne Hello World
function getHelloWorld() {
return 'Hello World';
}
const helloWorld = getHelloWorld();
console.log(helloWorld);
Enter to Rename, Shift+Enter to Preview
Elles peuvent être définis de plusieurs manières:
-
En tant que fonction nommée (comme au dessus):
123456function add(a, b) {return a + b;}console.log(add(12, 56));Enter to Rename, Shift+Enter to Preview -
En tant qu'expression de fonctionref :
1234567891011121314151617181920const sub = function (a, b) {return a - b;};let mult = function (a, b) {return a * b;};const factorielle = function fac(n) {if (n < 2) {return 1;} else {return n * fac(n - 1);}};console.log(sub(15, 26));console.log(mult(15, 53));console.log(factorielle(3));Enter to Rename, Shift+Enter to Preview
Attention
Bien que les notations soient similiaires, il existe tout de même des différences.
La plus importante étant la portée de la fonction:
123456789// fonctionne peu importe où la fonction est appellée.console.log(hello('World'));function hello(name) {return 'Hello ' + name;}console.log(hello('People'));Enter to Rename, Shift+Enter to Preview 12345678910// retournera une erreur, hello à été appelé avant d'être défini.console.log(hello('World')); // supprimez cette ligne pour que ça fonctionneconst hello = function (name) {return 'Hello ' + name;};// fonctionnera puisque hello à été défini plus tôt.console.log(hello('World'));Enter to Rename, Shift+Enter to Preview
En savoir plus :
Open Source Your Knowledge: become a Contributor and help others learn. Create New Content