Skip to content

Fonctions et conditions

Ben Fry, Disarticulate (2004) Le texte du code de Casey est affiché en gris, tandis que les lignes bleues relient le code au fur et à mesure de son exécution dans le temps. L'image montre un instant dans le temps, les lignes plus sombres représentant le code qui a été exécuté plus récemment.
Ben Fry, Disarticulate (2004) Le texte du code de Casey est affiché en gris, tandis que les lignes bleues relient le code au fur et à mesure de son exécution dans le temps. L'image montre un instant dans le temps, les lignes plus sombres représentant le code qui a été exécuté plus récemment.→ Ouvrir le lien

Les fonctions sont des objets exécutables. Ces blocs de code peuvent également retourner une valeur. Vous croiserez plusieurs syntaxes différentes pour les fonctions (classiques, fléchées,.. ) et les retrouverez parfois sous le nom de méthodes. Il s'agit dans ce cas de fonctions à l'intérieur d'objets JS.

Les fonctions peuvent également accepter différents paramètres, qui sont en fait des variables utilisables à l'intérieur du coprs de votre fonction. (voir portée des variables).

Liens

  • Un exemple relativement explicite sur le dialogue entre HTML et javascript: Scroll (scrollIntoView)

Déclaration de fonction

js
function multipliePar5(nombre) {
    return nombre * 5
}

//Affichera 65 dans la console
console.log(multipliePar5(13));

La fonction rect() ci-dessous prend 4 arguments (paramètres) qui seront passés à l'intérieur de la fonction et permettront de dessiner le rectangle désiré.

js
rect(10, 20, 60, 30);

Attention, cette fonction est une fonction de la bibliothèque P5.js et n'est pas une fonction native de javascript. Pour qu'elle fonctionne (et ne renvoie pas d'erreur), il faut avoir au préalable chargé la bibliothèque.

C'est tout l'intérêt des bibliothèques. Derrière cette fonction à la syntaxe relativement simple se cache un paquet de code, à la fois utile et fatiguant.. 😃 (voir bas de cette page)

js
//console.log est une méthode
console.log("Hello");

Expressions de fonctions

Depuis 2015, une nouvelle syntaxe est possible pour les fonctions. Souvent appelées fonctions fléchées, elles se déclarent de la façon suivante, dans une variable. La syntaxe est dans certains cas plus simple et directe. Il faut noter que ces fonctions ne sont disponibles (comme les variables déclarées avec let ou const) qu'à partir de la ligne où vous les définissez dans votre script. A l'inverse, les fonctions classiques sont, elles, disponibles dès le début de votre programme, indépendamment de l'endroit où vous les déclarez (comme les variables var, que l'on utilise beaucoup moins, pour cette raison entre autres).

js
//Déclaration de fonction (fonction classique)
function addition(a, b) {
    return a + b
}

//Expression de fonction (fonction fléchée)
const addition = (a, b) => a + b;

// On peut évidemment avoit tout un bloc de code dans la fonction avant de retourner une valeur
const addition = (a, b) => {
    let resultat = a + b;
    alert("Le résultat est " + resultat);
};