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 :

window or not window that is the question


Sujet :

JavaScript

  1. #1
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut window or not window that is the question
    Bon je rouvre un autre thread car il s'agit d'un nouveau problème.

    Je voulais faire prototype qui retourne le nom d'un variable, pour ce faire je passe par window ...

    et chose curieuse je m'aperçois qu'une variable globale fait seulement à moitié partie du window ????


    Code :


    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
     
    var glob = 'coucou'
    window['glub'] = 'hello'
     
     
    pour glub pas de problème si on parcourre les propriétés de window
    Code :
     
    function IsInWindow(Elt){
    for (elts in window){
        var flag=false
        if(window[elts]==Elt){flag=true;}
        return flag;
     
       }
     
    alert(window['glob'])
    alert(window['glub']
     
    alert(IsInWindow(glob))
    alert(IsInWindow(glub))

    Sous IE ... cherchez l'erreur

    ça m'échappe complètement ...
    Une explication s'il vous plait !!!


    PS: sous FFX aucun souci

  2. #2
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    expliquer, expliquer... c'est un peu ambitieux; mais disons que IE a besoin d'une propriété de window explicite; glob n'est donc pas trouvée dans la boucle for in;


    "retourner le nom d'une variable", on n'a pas déjà étudié le truc, y a quelques années? t'as fait une recherche sur le forum?

  3. #3
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    tu veux dire que hasOwnProperty sur window n'aurait aucun sens ??

    ben non parceque si je declare window['mavar'] il différencie bien ...

    pour ce qui est de nom de variable tu devrais savoir qu'à mon age la mémoire ...
    et puis tout ce que j'ai trouvé sur le sujet c'est en passant par un constructeur... ce qui ne m'intéresse pas du tout, je ne vaux pas lui dire quel est son nom, c'est à lui de me le dire !!! Non mais !

  4. #4
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var glob="coucou";
     
    if(this.hasOwnProperty("glob")){	
    	alert(glob) // Ffx renvoie "coucou"; IE reste muet, sourd,aveugle...
    }

  5. #5
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    même réaction, évidemment:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for(prop in this){
    	if(prop=="glob"){
    		alert(this[prop])
    	}
    }

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    Ben oui c'est justement là tout le problème... je compatais faire mon prototype :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Object.prototype.Nom=function(){
    var Nom=undefined;
    for(elts in window){if(window[elts]==this){return elts;} }}
    et du coup ce comportment incohérent de IE me fout tout par terre !!!

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

Discussions similaires

  1. session or not session that is the question
    Par QAYS dans le forum Langage
    Réponses: 1
    Dernier message: 09/09/2011, 02h06
  2. Ajax.net or not ajax.net that's the question
    Par kaygee dans le forum ASP.NET
    Réponses: 5
    Dernier message: 04/03/2009, 10h28
  3. Réponses: 3
    Dernier message: 04/07/2007, 16h14
  4. vue propre ou table crade ? that's the question
    Par Maitre B dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 10/11/2004, 16h19

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