Exercice 1/12

Dans le fichier "script.js" :

  • déclarez la fonction display;
  • dans la fonction mettez alert("Je suis une fonction");
  • exécutez la fonction;
  • cliquez sur "Soumettre ma réponse".

Leçon 1/12

Dans cet exercice vous allez découvrir ce qu'est une fonction, à quoi ça sert et comment déclarer une fonction.

À quoi ça sert ?

Quand vous allez commencer à écrire des scripts, vous allez vous rendre compte que certains morceaux de code font la même chose et sont répétés à plusieurs endroits dans votre script.

Ceci alourdit le code et n'est pas pratique à maintenir à jour. Si vous souhaitez modifier ce code qui est réutilisé un peu partout dans le script, il faudra le faire pour toutes ses occurrences. Pas pratique. C'est la que les fonctions interviennent.

Une fonction est une sorte de "boîte noire" dans laquelle est écrit une portion de code qui fait quelque chose. Une fonction porte un nom que vous aurez choisi (comme une variable). Il suffira d'appeler ce nom dans le script et le code correspondant sera exécuté.

La syntaxe d'une fonction

function maFonction () {
    // Code a exécuter
}

Pour déclarer une fonction, il faut le mot-clé function suivi du nom que vous voulez donner à cette fonction. Puis un couple de parenthèses () dans lequel vous pourrez donner des paramètres / arguments qui seront utilisés dans la fonction (mais ils ne sont pas obligatoires). Entre les accolades {} se trouve la portion de code à exécuter. Il n'y a pas de ; à la fin : c'est une structure (comme les boucles et les conditions) et non une instruction.

Ici maFonction n'est pas exécutée, juste déclarée. Pour exécuter la fonction il faut l'appeler :

maFonction();

Fonction ou méthode ?

Sans le savoir, vous avez déjà utilisé des fonctions proposées nativement par Javascript : alert(), prompt(), confirm() ...

Il y a aussi toUpperCase() qui permet de mettre du texte en majuscule. C'est une fonction utilisée avec un objet de type chaîne de caractères (string).

Lors de l'introduction sur les objets on avait vu qu'un objet possédait des propriétés et des méthodes. Une méthode est en fait une fonction native d'un objet Javascript, comme toUpperCase() et plein d'autres.
Mais c'est exactement la même chose.

Commentaires les mieux notés

  • vi.siv-71

    vi.siv-71

    voici mon code: function display() { alert("Je suis une fonction") } display();

    le 05/12/2019 à 09h31

  • nadaljeanyves-70

    nadaljeanyves-70

    C'est bon j'ai compris mon erreur, je ne l'ai pas executer.

    le 17/06/2019 à 22h54

  • yarkagone

    yarkagone

    function display () { alert("je suis une fonction") display() }...........bonjour mram ce code ne passe pas pourquoi ?

    le 08/02/2017 à 11h57

  • pascal-ds

    pascal-ds

    bonjour, quelques petites coquilles dans le paragraphe de cours - j'espère que vous ne m'en voudrez pas de ces remarques, mais travaillant dans l'édition, les coquilles me piquent un peu les yeux :o) - "Il suffira d'appelé" => appeler dans l'encadré de syntaxe : // Code a exécuté => à exécuter puis couple de parenthèse => parenthèses mais il ne sont => ils

    le 02/09/2016 à 08h49

  • mram

    mram Admin

    Y a pas de souci, ça aurait du me piquer les yeux, mais je code / j'écris trop vite sans forcément relire. Merci !

    le 04/09/2016 à 13h35

20 Commentaires

  • teodor.kobilarov-45

    teodor.kobilarov-45

    Bonjour, je comprends pas pourqoui ça marche pas function display () { alert("Je suis une fonction"); } display()

    le 22/06/2020 à 20h25

  • meriam

    meriam Admin

    Votre code est correct.

    le 22/06/2020 à 23h58

  • sebastien.massera-44

    sebastien.massera-44

    Bonjour message d'erreur "Vous ne devez avoir qu'une alert

    le 17/06/2020 à 14h19

  • meriam

    meriam Admin

    Votre code est correct.

    le 17/06/2020 à 23h10

  • gregoryalexiss-52

    gregoryalexiss-52

    Même problème que précédemment. Est-il nécessaire de vous le signaler à chaque fois ?

    le 16/06/2020 à 17h33

  • meriam

    meriam Admin

    Votre code est correct. Une mise à jour en cours, merci pour votre compréhension (un problème de mise à jour).

    le 17/06/2020 à 00h12

  • meriam

    meriam Admin

    Bonjour, est ce le problème persiste encore??

    le 01/07/2020 à 14h11

  • gregoryalexiss-52

    gregoryalexiss-52

    Bonjour, mon code ne s’exécute pas.

    le 16/06/2020 à 17h21

  • meriam

    meriam Admin

    Bonjour, votre dernier code fonctionne correctement.

    le 16/06/2020 à 17h24

  • melyssa.auberton-21

    melyssa.auberton-21

    Mais le site continue de m'afficher le message d'erreur "vous ne devez avoir qu'une alert", et ça se reproduit sur tous les exercices...

    le 11/06/2020 à 15h20

  • meriam

    meriam Admin

    Bonjour, est ce le problème persiste encore??

    le 01/07/2020 à 14h10

  • melyssa.auberton-21

    melyssa.auberton-21

    Je ne comprends pas pour cela ne marche pas...

    le 11/06/2020 à 13h59

  • meriam

    meriam Admin

    Bonjour, votre dernier code fonctionne correctement.

    le 11/06/2020 à 15h03

  • vi.siv-71

    vi.siv-71

    voici mon code: function display() { alert("Je suis une fonction") } display();

    le 05/12/2019 à 09h31

  • nadaljeanyves-70

    nadaljeanyves-70

    C'est bon j'ai compris mon erreur, je ne l'ai pas executer.

    le 17/06/2019 à 22h54

  • nkeshimanabrice-37

    nkeshimanabrice-37

    je ne vois pas l'erreur...

    le 28/12/2018 à 11h46

  • meriam

    meriam Admin

    Bonjour, la syntaxe de déclarer une fonction function nomFonction() { traitement à faire } (pour déclarer une fonction d'utilisez pas le mot clé var). Il exécuter la fonction à la fin.

    le 28/12/2018 à 12h43

  • nkeshimanabrice-37

    nkeshimanabrice-37

    pouvez-vous corriger...

    le 13/12/2018 à 09h42

  • meriam

    meriam Admin

    il faut exécuter la fonction aprés sa déclaration, ce qui donne function display () { alert("Je suis une fonction"); } display()

    le 13/12/2018 à 14h22

  • mick.aubin-63

    mick.aubin-63

    et on me dit que cela ne marche pas

    le 11/06/2018 à 13h16

  • mram

    mram Admin

    Bonjour,

    Quel est le message exact que vous avez ??

    le 19/06/2018 à 04h04

  • duboisdelphine-16

    duboisdelphine-16

    ok je viens de trouver le problème, pour exécuter une fonction, il faut la mettre à la fin, après les acolades

    le 26/03/2018 à 10h35

  • duboisdelphine-16

    duboisdelphine-16

    je ne comprends pas pourquoi ça ne marche : function display() function display(){alert("Je suis une fonction");}

    le 26/03/2018 à 08h43

  • mram

    mram Admin

    Bonjour, à quoi sert la première ligne ?

    le 28/03/2018 à 06h07

  • simon.fred

    simon.fred

    Bonjour, je viens de réussir mais je ne suis pas sur de bien comprendre, quand vous dite qu'il faut exécuter la function, ça veut dire qu'il faut là rappeler à la fin ?

    le 07/12/2017 à 11h42

  • mram

    mram Admin

    Bonjour, oui c'est ça. Au début vous ne faites que la créer et dire ce qu'elle va faire. Après il faut l'exécuter.

    le 10/12/2017 à 14h25

  • simon.fred

    simon.fred

    Bonjour, je sent que je vais regretter cette demande d'aide mais pourriez-vous m'aider ? je ne comprends pas pourquoi j'ai un message d'erreur. j'ai lu tous les commentaires et mon code et je ne vois pas ce qui pose problème. :) merci d'avance function display() { alert("Je suis une fonction"); }

    le 05/12/2017 à 12h11

  • mram

    mram Admin

    Bonjour, il ne suffit pas de créer la fonction, il faut l'exécuter ensuite. C'est expliqué dans l'énoncé.

    le 10/12/2017 à 13h47

  • alexismoquet

    alexismoquet

    bjr, ok c'est bon, je n'avais pas appelé la fonction à la fin

    le 13/10/2017 à 09h50

  • alexismoquet

    alexismoquet

    function display () { alert("Je suis une fonction"); }

    le 25/09/2017 à 15h57

  • mram

    mram Admin

    Bonjour, les accolades sont toujours collées au nom de la fonction.

    le 29/09/2017 à 00h47

  • titi-fernandes

    titi-fernandes

    bonjour je n'arrive pas à voir pourquoi mon code ne marche pas? un peu d'aide svp!!!!

    le 21/09/2017 à 17h17

  • mram

    mram Admin

    Bonjour, il ne fallait pas oublier le mot-clé "function" devant le nom de la fonction.

    le 22/09/2017 à 18h36

  • armand1807

    armand1807

    en sois ya rien de compliquer ! alors pourquoi ça marche pas la ???? function display () { alert("Je suis une fonction") }

    le 17/08/2017 à 14h10

  • mram

    mram Admin

    Votre dernière version du code est correcte. Pour utiliser une fonction il y a 2 étapes. On la construit pour décrire ce qu'elle va faire avec le mot-clé "function" et on lui donne un nom. Puis on l'exécute en l'appelant par son nom comme on le fait pour alert() , prompt() ou autre fonction native de Javascript.

    le 17/08/2017 à 20h43

index.html
script.js
<!DOCTYPE HTML> <html> <head> <title>Déclarer une fonction</title> <script src="script.js"></script> </head> <body> </body> </html>