Exercice 2/11

Dans le fichier "script.js" :

  • déclarez une variable globale texte (en dehors de la fonction);
  • déclarez la fonction display;
  • la fonction doit afficher texte avec alert();
  • exécutez la fonction;
  • cliquez sur "Soumettre ma réponse".

Leçon 2/11

Une fonction est une sorte de boîte noire dans lequel du code est exécuté. Donc ce code est en quelque sorte "isolé" du reste du script.

Si on déclare une variable dans le script, elle est accessible dans l'ensemble du script, c'est donc une variable globale.

Exemple :

// on déclare une variable globale
var maVariable = "Variable globale";
// on déclare une fonction
function test() {
    alert(maVariable);
}
// on exécute la fonction
test();

Ici, la fonction test() va bien afficher "Variable globale" car la variable déclarée dans le script global est accessible dans la fonction.

Commentaires les mieux notés

  • mram Administrateur

    Il faut un ; à la fin de la ligne 3 ...

  • mram Administrateur

    Bonjour, non ce n'est pas après alert() qu'il ne faut pas mettre de ";" mais à la fin de la fonction (après l'accolade fermante) où il ne faut pas mettre de ";" . Chaque instruction qui se trouve dans la fonction (par exemple un alert() ) doit avoir un ";" pour permettre à Javascript que l'on passe ensuite à une autre instruction.

  • santikush

    Suite à ce que dit mick.ban je ne comprends pas pourquoi l'exercice précédent m'est validé sans avoir mis de point virgule après mon alert() Merci

  • mram Administrateur

    Rien de distingue une variable globale ou locale dans la façon de les déclarer ou de les nommer. Simplement une variable déclarée dans une fonction ne sera pas accessible à l'extérieur de cette fonction, c'est-à-dire dans le reste du script : ce qui les différencie c'est donc leur portée.

26 Commentaires

  • mram

    mram Administrateur

    Il faut un ; à la fin de la ligne 3 ...

    le 24/08/2016 à 21h00

  • mram

    mram Administrateur

    Bonjour, non ce n'est pas après alert() qu'il ne faut pas mettre de ";" mais à la fin de la fonction (après l'accolade fermante) où il ne faut pas mettre de ";" . Chaque instruction qui se trouve dans la fonction (par exemple un alert() ) doit avoir un ";" pour permettre à Javascript que l'on passe ensuite à une autre instruction.

    le 15/05/2017 à 13h42

  • santikush

    santikush

    Suite à ce que dit mick.ban je ne comprends pas pourquoi l'exercice précédent m'est validé sans avoir mis de point virgule après mon alert() Merci

    le 23/05/2017 à 14h44

  • mram

    mram Administrateur

    Rien de distingue une variable globale ou locale dans la façon de les déclarer ou de les nommer. Simplement une variable déclarée dans une fonction ne sera pas accessible à l'extérieur de cette fonction, c'est-à-dire dans le reste du script : ce qui les différencie c'est donc leur portée.

    le 04/09/2016 à 13h37

  • mram

    mram Administrateur

    Oui comme j'ai dit, j'écris parfois (trop) vite sans forcément relire...

    le 04/09/2016 à 13h38

  • pascal-ds

    pascal-ds

    oops... ce n'est pas à cause de la syntaxe, mais parce que déclarée en dehors de la fonction...ok au passage, je suppose que "gloable" c'est "globale"... classique inversino de letters :)

    le 02/09/2016 à 09h06

  • mram

    mram Administrateur

    Mettre un point virgule n'est pas obligatoire en Javascript, mais nous le recommandons fortement.

    le 29/05/2017 à 15h09

  • pascal-ds

    pascal-ds

    mais qu'est ce qui différencie une variable globale d'une variable classique dans la syntaxe ??

    le 02/09/2016 à 09h01

  • yarkagone

    yarkagone

    var texte = "ccc"; function display() { alert(texte) } display() bonsoir où est l' erreur . merci

    le 16/02/2017 à 18h56

  • bsmeyers84

    bsmeyers84

    Est se bon car cela ne fonctionne pas j'ai le message SYNTAXERROR:UNEXPECTED END OF INPUT

    le 24/08/2016 à 16h48

  • mram

    mram Administrateur

    Mettez juste l'accolade ligne 3 à la fin de la ligne 2, ça devrait être bon.

    le 17/02/2017 à 14h14

  • bsmeyers84

    bsmeyers84

    suite a ma correction voici le nouveau message qui s'affiche quand je valide la réponse: AVEZ-VOUS BIEN DEMANDE A LA FONCTION D'AFFICHER "TEXTE"

    le 24/08/2016 à 17h21

  • mick.ban

    mick.ban

    bonsoir, lors de l'exercice précédent on nous dit de ne pas mettre un point virgule dans la fonction après alert () car c'est une structure (comme les boucles et les conditions) et non une instruction. et ici ...si je n'en met pas un je ne peux pas valider l'exercice quel est la bonne méthode svp car sa porte vraiment a confusion.

    le 09/05/2017 à 23h25

  • ricafortjason

    ricafortjason

    Il faut écrire du texte au hasard pour texte(ex:texte="zefzf"), et aussi appeler la fonction a la fin

    le 01/02/2017 à 17h30

  • jovidal

    jovidal

    d'ou vient le souci m’empêchant de valider ? var texte = "kugyh"; function display() { alert(texte) } display();

    le 03/06/2017 à 13h46

  • jovidal

    jovidal

    j'ai trouvé.. Méchant ";" !

    le 03/06/2017 à 13h53

  • hantute.kevin-100

    hantute.kevin-100

    Peut-être faudrait-il préciser d'exécuter la fonction display() à la fin ?

    le 23/02/2018 à 10h43

  • mram

    mram Administrateur

    C'est fait :)

    le 25/02/2018 à 01h38

  • ngout-50

    ngout-50

    bien sur.Merci

    le 02/04/2019 à 15h16

  • nkeshimanabrice-37

    nkeshimanabrice-37

    merci...

    le 27/03/2019 à 15h05

  • stevencourbet-59

    stevencourbet-59

    j'ai compris autant pour moi !

    le 15/07/2019 à 10h37

index.html
script.js
<!DOCTYPE HTML> <html> <head> <title>Variable globale</title> <script src="script.js"></script> </head> <body> </body> </html>