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 :

Function non interprétée


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 66
    Par défaut Function non interprétée
    Bonjour,

    voici le script :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
    	"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
     
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
    <head>
    	<title>Test URL</title>
     
     
    </head>
    <body>
    <script type="text/javascript">
     
      function getLeftUrl() 
      {
          var url = new String();
          url='http://www.google.com';
          return url;
      }
     
      var test = new String();
      test = getLeftUrl;
      alert(test);
    </script>
     
    </body>
    </html>
    La fonction getLeftUrl doit renvoyer une chaîne de caractère.
    La variable test doit contenir le résultat de la fonction getLeftUrl

    Résultat attendu :
    Résultat obtenu :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function getLeftUrl() 
      {
          var url = new String();
          url='http://www.google.com';
          return url;
      }
    J'ai l'impression que la fonction n'est pas interprétée...
    Sauriez-vous pourquoi ?

    merci d'avance

  2. #2
    Membre Expert Avatar de DoubleU
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 106
    Par défaut
    Il te manque les parenthèses lors de l'appel getLeftUrl().

    Sinon, tu récupères le pointeur vers la fonction.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 66
    Par défaut


    merci pour le débugage.

    Cependant il me semble avoir constaté que les procédures javascript (fonction qui ne retourne rien!) sans argument peuvent être invoquées sans les doubles parenthèses ().

    Exemple de la bibliothèque prototype-UI et de l'appel à la procédure runTest

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    <body>
    <script type="text/javascript">
      function runTest() {
        UI.defaultWM.options.blurredWindowsDontReceiveEvents = true;
     
        function openWindow(url) {
          new UI.URLWindow({
            width: 600, 
            height: 400,
            shadow: true,
            theme: "mac_os_x",
            url: url || '../../fixtures/url_content.html' }).show();  
         } 
     
         openWindow();  
         openWindow();  
         openWindow("http://www.google.com");   
       }  
       Event.observe(window, "load", runTest);
     
    </script>
     
    </body>
    Ai-je raison d'en conclure que les procédures peuvent être appelées sans parenthèse contrairement aux fonctions ?


  4. #4
    Membre Expert Avatar de DoubleU
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 106
    Par défaut
    Ai-je raison d'en conclure que les procédures peuvent être appelées sans parenthèse contrairement aux fonctions ?
    Non ^^

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Event.observe(window, "load", runTest);
    Quand tu écris ca, tu n'appelle pas runTest directement. Tu dis à la fonction Event.observe que quand l'événement load sera lancé, le controler devra appeler la fonction runTest, donc tu lui passes le pointeur vers cette fonction.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 66
    Par défaut


    Merci beaucoup pour cette précision

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

Discussions similaires

  1. [JSTL] <x:transform> non interprété
    Par Pi2 dans le forum Taglibs
    Réponses: 1
    Dernier message: 21/07/2006, 16h43
  2. index.php non interprété directement
    Par Celeborn dans le forum Apache
    Réponses: 3
    Dernier message: 04/07/2006, 14h21
  3. variable d'environnement windows non interprétée
    Par rogerio dans le forum Windows
    Réponses: 4
    Dernier message: 02/06/2006, 07h06
  4. balises non interprétées sous IE mais bien sous FF
    Par trotters213 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 27/04/2006, 14h31
  5. IIS et code ASP non interprété
    Par christel1982 dans le forum ASP
    Réponses: 4
    Dernier message: 25/10/2005, 09h26

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