Javascript - Bug condition
Répondre à la discussion
Affichage des résultats 1 à 3 sur 3

Javascript - Bug condition



  1. #1
    invite7a536414

    Question Javascript - Bug condition


    ------

    Bonjour,
    Je suis en proie à un bug incompréhensible.
    Je précise que je suis autodidacte en javascript mais que j'ai de bonnes bases en programmation (C).

    Nous sommes dans une fonction JS qui prend en paramètre la variable "vivit"
    Le tableau "tableau" est une variable globale...

    Code:
        alert (tableau[10])
        alert (vivit)
        alert(vivit > tableau[10])
    
           if (vivit > tableau[10])
           {
              alert ("RECORD");
           }

    Lorsque
    tableau[10] = 297.45 (définie dans une autre fonction, (mais variable globale))
    vivit = 47.58 (transmis en paramètre de fonction)

    J'obtiens :
    alert = 297.45 // OK
    alert = 47.58 // OK
    alert = true // Ce qui est faux
    alert = RECORD //Ce qui est faux aussi...


    ****************
    Ca me semble vraiment invraisemblable....

    Après fouille, j'ai remarqué que si j'affectais à tableau [10] la valeur au début, ça refonctionnait...
    tableau[10] = 297.45

    Pourtant la fonction alert du premier exemple me donne la preuve que cette valeur était déjà bien présente....

    Je suis perdu.. A coté de quoi je suis passé ?

    Cordialement

    -----

  2. #2
    invite19415392

    Re : Javascript - Bug condition

    Bonjour,

    Tes 2 valeurs sont des chaines de caractère. Quand tu les compares, c'est une comparaison alphanumérique qui se fait (et donc, 4 étant après 2, ça te dit vrai). Si par contre tu changes le type d'un de tes éléments, il fera une comparaison de nombres (en forçant la conversion).
    Tu peux le faire en définissant une variable intermédiaire :

    var valeur = parseFloat(tableau[10]);

  3. #3
    invite7a536414

    Re : Javascript - Bug condition

    Un grand merci,
    C'était effectivement le problème.

    Cordialement

Discussions similaires

  1. bug ou pas bug?
    Par invitec35bc9ea dans le forum Internet - Réseau - Sécurité générale
    Réponses: 13
    Dernier message: 03/07/2009, 09h54
  2. JavaScript : 1 + 2 = 12
    Par invite8074ea1e dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 01/08/2005, 16h57
  3. javascript : script qui bug !!!!
    Par invitee17aeca5 dans le forum Logiciel - Software - Open Source
    Réponses: 17
    Dernier message: 19/07/2005, 14h59