IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Question sur les fonctions javascript


Sujet :

JavaScript

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 69
    Points : 59
    Points
    59
    Par défaut Question sur les fonctions javascript
    Bonsoir,

    Voilà je suis en train de regarder des fichiers javascript pour la déclaration de fonction et je suis tomber sur ce genre de structure :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ;(function()
    {
    ...
    }();
    Cependant je ne sais pas dutout à quoi elle correspond ...

    Es-ce que quelqu'un pourrait m'aider s'il vous plait pour m'expliquer ce type de déclaration car je ne trouve aucun renseignement sur internet.

    Merci beaucoup de votre aide.

  2. #2
    Membre expérimenté Avatar de Willpower
    Homme Profil pro
    sans emploi
    Inscrit en
    Décembre 2010
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : sans emploi

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 009
    Points : 1 519
    Points
    1 519
    Par défaut
    Citation Envoyé par Walkn Voir le message
    Bonsoir,

    Voilà je suis en train de regarder des fichiers javascript pour la déclaration de fonction et je suis tomber sur ce genre de structure :

    ;(function()
    {
    ...
    }();


    Cependant je ne sais pas dutout à quoi elle correspond ...

    Es-ce que quelqu'un pourrait m'aider s'il vous plait pour m'expliquer ce type de déclaration car je ne trouve aucun renseignement sur internet.

    Merci beaucoup de votre aide.
    cela déclare et exécute une fonction anonyme.

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 69
    Points : 59
    Points
    59
    Par défaut
    Comment çà déclare ?

    pourquoi le ";(" avant le function??

    je ne vois pas vraiment comment cela fonctionne

  4. #4
    Membre expérimenté Avatar de Willpower
    Homme Profil pro
    sans emploi
    Inscrit en
    Décembre 2010
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : sans emploi

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 009
    Points : 1 519
    Points
    1 519
    Par défaut
    Citation Envoyé par Walkn Voir le message
    Comment çà déclare ?

    pourquoi le ";(" avant le function??

    je ne vois pas vraiment comment cela fonctionne
    le ; n'a rien à voir, tu l'as surement copié d'une instruction précédente !

    ensuite normalement pour déclarer une fonction tu fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    // déclarer
    function nom(){...};
    puis tu l'exécute comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    // exécuter
    nom(parametre);
    les 2 en un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    // déclarer et exécuter :
    (function nom(){...})(parametre);
    si par la suite tu n'utiliser plus cette fonction, cela ne sert à rien de lui donner un nom qui ne servira qu'a la réutiliser donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    // déclarer et exécuter une fonction anonyme :
    (function(){...})(parametre);


  5. #5
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 69
    Points : 59
    Points
    59
    Par défaut
    D'accord je comprend mieux maintenant

    En fait la structure que j'ai vu est comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    /**
     * SyntaxHighlighter
     * @version
     * 3.0.83 (July 02 2010)
     *
     * @license
     * Dual licensed under the MIT and GPL licenses.
     */
    ;(function()
    {
    ...
    })();

  6. #6
    Membre expérimenté Avatar de Willpower
    Homme Profil pro
    sans emploi
    Inscrit en
    Décembre 2010
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : sans emploi

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 009
    Points : 1 519
    Points
    1 519
    Par défaut
    Citation Envoyé par Walkn Voir le message
    D'accord je comprend mieux maintenant

    En fait la structure que j'ai vu est comme cela :

    /**
    * SyntaxHighlighter
    * @version
    * 3.0.83 (July 02 2010)
    *
    * @license
    * Dual licensed under the MIT and GPL licenses.
    */
    ;(function()
    {
    ...
    })();
    j'imagine que le ; en début de fichier js, est préventif au cas où tu copierais le code js à la fin d'un autre fichier js et que tu n'aurais pas fini correctement la dernière instruction de cet autre fichier, typiquement genre une assignation :

    qqe_chose = autrechose

    mais sans certitude, je laisse me collègues te donner une vraie explication s'ils en ont une.

  7. #7
    Membre expérimenté Avatar de Willpower
    Homme Profil pro
    sans emploi
    Inscrit en
    Décembre 2010
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : sans emploi

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 009
    Points : 1 519
    Points
    1 519
    Par défaut
    ici, la fonction anonyme si elle englobe toute la librairie sert à encapsuler les variables qui seront locales à ta lib(locales à la fonction anonyme) :

    exemple :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    var data = "un string sale^^";
     
    //début de ma lib
    (function(){
      var data=12;
      alert(data);
    })();
    //fin de ma lib
     
    // début de mon code
    alert(data);

  8. #8
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 389
    Points : 10 422
    Points
    10 422
    Par défaut
    Il y a aussi de la doc ici.

    Enfin bon tu ne commence pas par le plus facile... Cela dit il est vrai qu'on est amené à rencontrer ce type de fonctions un jour ou l'autre.

  9. #9
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 69
    Points : 59
    Points
    59
    Par défaut Résolu
    Merci à tous pour vos réponses et vos conseils

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Diverses questions sur les fonctions de conversion
    Par Louis-Guillaume Morand dans le forum Access
    Réponses: 12
    Dernier message: 27/12/2006, 10h56
  2. Question sur les fonctions ORACLE
    Par Fakhry dans le forum SQL
    Réponses: 8
    Dernier message: 12/12/2006, 17h13
  3. [Dates] Question sur les fonctions Date
    Par cerede2000 dans le forum Langage
    Réponses: 2
    Dernier message: 28/10/2006, 17h26
  4. Question sur les fonctions "send()" et "recv(
    Par damien99 dans le forum MFC
    Réponses: 6
    Dernier message: 10/02/2006, 20h47
  5. question sur les attributs javascript
    Par PAYASS59 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 20/04/2005, 13h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo