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

jQuery Discussion :

Le navigateur ne créer pas une erreur quand on attribue une valeur différente du type de variable


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2009
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 467
    Par défaut Le navigateur ne créer pas une erreur quand on attribue une valeur différente du type de variable
    bonjour,

    je viens de perdre 3h à trouver un bug stupide de comparaison.
    J'accuse le navigateur de ne pas être strict !

    mon code exemple :

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    var a=0;
    var b=0;
     
    a=$("#toto1").attr('truc');  //truc vaut 8
    b=$("#toto2").attr('truc'); //truc vaut 11
     
    if (b<a) alert("A gagne");
    else alert("null ou B gagne");


    je cherchais à comprendre pourquoi ça affichait toujours (b<a) alert("A gagne");.

    je viens de découvrir que même si je fais un var nom=integer pour déclarer ma variable, le navigateur laisse une string entrer dedans lors d'une affectation !
    quand je fais a=$("#toto1").attr('truc') , attr renvoie une string et pas un integer !!!
    du coup, mon (b<a) est une comparaison de chaines ("11"<"8") et pas (11<8) !!

    Pourquoi le navigateur ne renvoie pas d'erreur quand j'affecte une string dans une variable déclarée en integer ?

  2. #2
    Membre Expert
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 495
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 495
    Par défaut
    web.developpez.com/actu/59624/JavaScript-un-langage-fortement-type-etes-vous-pret-a-l-accepter/ ca date un peu, mais ca peu apporter un debut de reponse...

    si tu veux du typage, je te conseil typescript (qui n'est autre que du JS typed)

    ps : quand tu recuperes un attribut d'un element (en jquery je ne sais pas), le JS te le cast en string

    developer.mozilla.org/en-US/docs/Web/API/HTMLElement/dataset
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  3. #3
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 210
    Par défaut
    Bonjour,
    Citation Envoyé par clavier12AZQSWX
    J'accuse le navigateur de ne pas être strict !
    c'est un peu fort quand même non ?

    D'un autre côté les navigateurs accusent les développeurs de ne pas lire les documentations et de préférer perdre 3 heures
    Citation Envoyé par jQuery.attr( attributeName )
    attributeName
    Type: String
    The name of the attribute to get.

  4. #4
    Membre éprouvé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2009
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 467
    Par défaut
    c'est un peu fort quand même non ?
    oui je m'excuse
    en fait c'était la faute de mon éditeur de texte qui n'a pas réagi et analysé mon erreur afin de me prévenir

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 19/05/2008, 13h51
  2. Réponses: 3
    Dernier message: 31/10/2007, 11h46
  3. "Si" ce n'est pas une valeur
    Par Martinfootplus dans le forum Excel
    Réponses: 2
    Dernier message: 06/08/2007, 00h50
  4. radiobutton erreur n'est pas une valeur entière correcte
    Par pierrot67 dans le forum Bases de données
    Réponses: 3
    Dernier message: 12/03/2006, 21h27
  5. erreur '' n'est pas une valeur entière correcte
    Par ffxlenoir dans le forum Langage
    Réponses: 5
    Dernier message: 02/12/2005, 13h57

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