begin process at 2012 05 29 07:09:16
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript Orienté objet (POO)

 > 

Function & Méthodes

 > 

a quoi correspond this ?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

a quoi correspond this ?

mardi 11 septembre 2007 à 10:40:38 | a quoi correspond this ?

DarkCid

Membre Club
Salut,

j'ai récupéré un bout de code que je dois adapter à mes besoins et pour cela, il faudra que je sache à un moment ce que vaut "this" pour le remplacer par sa vrai valeur, y a une méthode pour le savoir ?
mardi 11 septembre 2007 à 10:45:05 | Re : a quoi correspond this ?

XtremDuke

Tu peux être plus clair ? Un bout de code serait le bienvenue. ^^
mardi 11 septembre 2007 à 10:47:55 | Re : a quoi correspond this ?

DarkCid

Membre Club
ben a un moment, dans le code, on utilise this pour faire plus court, or moi je dois appeler ce code d'une autre façon, et du coup le this ben y vaut plus la même chose, logique non ? Donc il faudrait que je sache ce qu'il remplace à l'origine.

voilà le code :

Example.GridWindow = Ext.extend(Ext.app.Module, {
    init : function(){
        this.launcher = {
            text: 'Grid Window',
            iconCls:'icon-grid',
            handler : this.createWindow,
            scope: this
        }
    },
 
    createWindow : function(){
        //alert(this);
  var desktop = this.app.getDesktop();

j'ai pas mis la suite, je pense pas que se soit indispensable.
mardi 11 septembre 2007 à 12:14:07 | Re : a quoi correspond this ?

bultez

Membre Club




bonjour,

>>on utilise this pour faire plus court
    pas seulement,
    c'est
plutôt très souvent utilisé pour éviter de citer "en dur" les élements,
       pour que ce soit indépendant de l'appel justement.

>>je dois appeler ce code d'une autre façon,
>>et du coup le this ben y vaut plus la même chose, logique non ?
    euh ? ben non.
    this c'est l'objet sur lequel on est.
         function msg(z)
         { alert(z.value);   }
        <input type="text" id="t1" onclick="msg(this);" ...>
            va afficher le value de l'input
             on pourrait faire onclick="msg(document.getElementById('t1'));"
             mais avec this, on change l'id et ça reste valable.
             c'est un exemple un peu niais.
            
        et dans une fonction... c'est la fonction.
            function Base()
            {    this.p1="exemple";    }
            Base.prototype.Fnct = function ()
            {    alert(this.p1);    }
             var f1=new Base();

      
    pas compris la question, le but recherché... donc


Cordialement                Bul         [mon Site]     [M'écrire]
En général, c'est absurde de généraliser.
mardi 11 septembre 2007 à 12:35:09 | Re : a quoi correspond this ?

DarkCid

Membre Club
ben mon problème, c'est que comme je dois faire appelle à ce bout de code d'un autre endroit, le this ne désigne plus la meme chose, et donc fait tout planter. donc il me faudrait savoir dans le code d'origine ce que remplace exactement this pour savoir comment adapter le code.
mardi 11 septembre 2007 à 13:22:54 | Re : a quoi correspond this ?

bultez

Membre Club
le this, sur ce que tu nous montres, c'est la function.
par quoi voudrais-tu remplacer ? ce n'est pas possible.
tu peux l'appeler de n'import où ( pas n'importe comment ! ) : ça ne doit pas planter.

Cordialement                Bul         [mon Site]     [M'écrire]
En général, c'est absurde de généraliser.
mardi 11 septembre 2007 à 13:26:46 | Re : a quoi correspond this ?

DarkCid

Membre Club
c'est pas faut, pourtant, sa plante.

faut dire que j'utilise Ext et j'ai pas encore bien tout compris
mardi 11 septembre 2007 à 17:08:52 | Re : a quoi correspond this ?

XtremDuke

Je en connais pas Ext mais si c'est la même chose que  Prototype, il ne faut pas utiliser this mais directement l'objet.
Par exemple :

var mesInput = $A(document.getElementsByTagName('input'));
mesInput.each(function(input){
    input.onclick = function(){
       executer_fonction(this);
    }
});

Ca c'est faut, il faut lui passer directement l'objet en parametre :

var mesInput = $A(document.getElementsByTagName('input'));
mesInput.each(function(input){
    input.onclick = function(){
       executer_fonction(input);
    }
});

Je pense que ton problème doit être similaire.


Cette discussion est classée dans : correspond


Répondre à ce message

Sujets en rapport avec ce message



Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,312 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales