Petite Introduction Aux
Fonctions JavaScript
Les fonctions sont des « blocs de code » réutilisables quon peut
appeler nimporte quand et de nimporte où dans un programme.
Il existe des fonctions nommées quon peut appeler de nimporte
où, et des fonctions anonymes quon peut exécuter (invoquer)
juste à la fin de leur définition (expressions de fonctions immédiate-
ment invoquées) ou utiliser comme event Handler ou quon peut af-
fecter à une variable (soit la valeur quelle retourne, soit son
adresse = pointeur).
Le petit script ci-dessous illustre différents types et syntaxes de
fonctions.
<script type="text/javascript"> "use strict;"
// Syntaxe ordinaire d'une fonction
function f0(v=1){console.log(Math.tan(v))};
f0(); // 1.5574077246549023
/******************************/
let f1=(function(){return Math.tan(1)})();
//
Petite Introduction Aux Fonctions JavaScript
mardi 31 juillet 2018 - 2/13 - 23:12:45 [PM]
// f1 reçoit ici la VALEUR DE RETOUR de la
// fonction anonyme, car cette fonction anonyme
// est immédiatement exécutée (invoquée) à ause des
// parenthèses qui termient sa définition/déclaration.
// Mais ici les parenthèses entourant la
// définition/déclaration de la fonction anonyme
// ne sont pas indispensables car affectation.
console.log(f1); // 1.5574077246549023
// console.log(f1());
//
// TypeError: f1 is not a function
// f1();
// TypeError: f1 is not a function
/******************************/
let f2=function(){return Math.tan(v)}(v=1);
//
// f2 reçoit ici la valeur de retour de
// la fonction anonyme.
console.log(f2); // 1.5574077246549023
/******************************/
let f3=function(v=1){return Math.tan(v)};
console.log(f3()); // 1.5574077246549023
Petite Introduction Aux Fonctions JavaScript
mardi 31 juillet 2018 - 3/13 - 23:12:45 [PM]
let f4=function(v=123){console.log(Math.tan(v))};
f4(Math.log(Math.E)); // 1.5574077246549023
/*****************************/
// function(){console.log(Math.tan(1)}();
//
// Ici les parenthèses autour de la fonction
// sont obligatoires.
// SyntaxError: function statement requires a name
// Mais on peut immédiatement invoquer la fonction
// anonyme en la faisant précéder d'un opérateur,
// ou bien entendu, l'entourer de parenthèses.
+function(){console.log(Math.tan(1))}();
// 1.5574077246549023
!function(){console.log(Math.tan(1))}();
// 1.5574077246549023
-function(){console.log(Math.tan(1))}();
// 1.5574077246549023
~function(){console.log(Math.tan(1))}();
// 1.5574077246549023
`${function(){console.log(Math.tan(1))}()}`;
// 1.5574077246549023
+(_=>console.log(Math.tan(1)))();
// 1.5574077246549023
Petite Introduction Aux Fonctions JavaScript
mardi 31 juillet 2018 - 4/13 - 23:12:45 [PM]
~((v=1)=>console.log(Math.tan(v)))();
// 1.5574077246549023
(function(){console.log(Math.tan(1))}());
// 1.5574077246549023
//
// Ici les parenthèses autour de la fonction
// sont obligatoires.
// SyntaxError: function statement requires a name
(function(){console.log(Math.tan(1))})();
// 1.5574077246549023
//
// Ici les parenthèses autour de la fonction
// sont obligatoires.
// SyntaxError: function statement requires a name
/*****************************/
let f5=function(){console.log(Math.tan(1))};
//
// Ici, il s'agit aussi d'une fonction anonyme
// On ne peut pas l'appeler par son nom.
// Mais la vaviable f3 reçoit (pointe) L'ADRESSE
// de la fonction anonyme qui n'est pas
// immédiatement invoquée.
// On peut donc appeler la fonction anonyme
// indirectement via son adresse stockée dans
// la variable f3
f5(); // 1.5574077246549023
let f6=_=>console.log(Math.tan(1));
Petite Introduction Aux Fonctions JavaScript
mardi 31 juillet 2018 - 5/13 - 23:12:45 [PM]
f6()
/*****************************/
// LE PARAMÈTRE DU RESTE
let f7=function(p1,p2,...p3){
console.log(p1,p2,p3);
}
f7("dias",2018,"puis,",["paramètre","du"],{p:"reste"})
// dias 2018 Array [ "puis,", […], {…} ]
// dias 2018 […]
// 0: "puis,"
// 1: Array [ "paramètre", "du" ]
// 2: Object { p: "reste" }
// length: 3
// __proto__: Array []
/*****************************/
function ext(rayon){
let vLocExt=Math.PI;
vLocExt*=10;
const c=rayon
const ds="Dans ext, "
// fonction fermeture (closure)
const fClosure=function(intro){
return ds+intro+" "+vLocExt*Math.pow(c,2)
}
1 / 13 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !