Partage
  • Partager sur Facebook
  • Partager sur Twitter

question tout bête sur les méthodes et les objets

Sujet résolu
    7 avril 2009 à 17:37:03

    J'ai un objet avec une méthode... et je voudrais, à partir de la méthode, utiliser les trucs de l'objet...
    function objet()
    {
    this.truc="La chaîne que je veux récupérer";
    function methode()
    {
    alert(machin);
    }
    }
    

    Et je voudrais savoir quoi mettre à la place de machin... pour afficher la chaîne quand je fais :
    var monobjet=objet();
    monobjet.methode();
    

    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      7 avril 2009 à 19:13:55

      Revois les objets :p
      function objet () {
          this.machin = "machin";
          
          this.methode = function () {
              alert(this.machin);
          }
      }
      
      var monObjet = new objet();
      monObjet.methode();
      
      • Partager sur Facebook
      • Partager sur Twitter
        7 avril 2009 à 19:25:53

        Quelque chose comme ça ?

        function objet() {
        this.truc="La chaîne que je veux récupérer";
        this.methode = function()
        {
        alert(this.truc);
        }
        }
        var monobjet= new objet();
        monobjet.methode();
        



        EDIT : grilled
        • Partager sur Facebook
        • Partager sur Twitter
          7 avril 2009 à 21:39:16

          Merci !
          Je vais pouvoir rajouter les petits gif qui se baladent aléatoirement dans mon fond d'écran (eh oui ! Vous avez servis une noble cause :p ).
          Et... eh... c'est où les tutoriels sur les objets personnalisés ?
          Parce que les Date() etc. je connais... mais les autres, pas moyen de trouver...
          • Partager sur Facebook
          • Partager sur Twitter
            7 avril 2009 à 21:51:11

            Au pif, sur google ?

            http://fr.selfhtml.org/javascript/langage/objets.htm
            http://t-templier.developpez.com/tutor [...] ascript-poo1/

            J'en ai mis deux histoire de... mais je pense que de toutes façons, tu es en mesure de faire la distinction entre le bon et le moins bon.

            Cherche aussi sur le MDC, ils ont surement quelque chose là-dessus ?
            • Partager sur Facebook
            • Partager sur Twitter
              7 avril 2009 à 21:54:03

              Sur google je suis tombé que sur les objets prédéfinis sauf un .doc qui expliquait relativement mal... des exemples sans explications...
              Je vais potasser tout ça :p
              Merci !
              • Partager sur Facebook
              • Partager sur Twitter
                8 avril 2009 à 0:07:04

                Mets le sujet en résolu ^^
                • Partager sur Facebook
                • Partager sur Twitter
                  8 avril 2009 à 7:42:28

                  Voici mon code... mais ça marche pas apparemment...
                  function smiley()
                  {
                  	this.up=random(10);
                  	this.left=random(10);
                  	this.right=random(10);
                  	this.down=random(10);
                  	this.div=document.createElement("div");
                  	document.getElementById("body").appendChild(this.div);
                  	this.div.style.zIndex='1';
                  	this.div.style.position="absolute";
                  	this.div.style.top="100px";
                  	
                  	var bordv=random(3);
                  	if(bordv==0)
                  	{
                  		this.vertical="top";
                  	}
                  	else
                  	{
                  		this.vertical="bottom";
                  	}
                  	this.v=function(nb)
                  	{
                  		this.div.style[this.vertical]=nb+'px';
                  	};
                  	this.v(0);
                  	
                  	var bordh=random(3);
                  	if(bordh==0)
                  	{
                  		this.horizontal="left";
                  	}
                  	else
                  	{
                  		this.horizontal="right";
                  	}
                  	this.h=function(nb)
                  	{
                  		this.div.style[this.horizontal]=nb+'px';
                  	};
                  	this.h(0);
                  
                  	this.div.innerHTML="aaaa";
                  	this.div.style.backgroundColor="red";
                  }
                  var smiley=new smiley();
                  


                  Quand je rajoute un onmouseover qui associe une fonction anonyme demandant le this.div.style[this.horizontal], ça m'envoie balader en disant que style est pas un objet ou a pour valeur null...
                  • Partager sur Facebook
                  • Partager sur Twitter
                    8 avril 2009 à 9:43:14

                    Montre comme tu ajoutes le onmouseover...

                    parce que le code que tu as mis pour l'instant fonctionne sans erreurs... (Si ce n'est la fonction random() mais je suppose que tu l'as définie ailleurs)...
                    • Partager sur Facebook
                    • Partager sur Twitter
                      8 avril 2009 à 12:59:42

                      en fait c'est bon...
                      c'est le this.div.style.top="100px"; qui faisait bugger... je l'avais mis pour vérifier que ça l'enlevait...


                      Juste une question... la notation JSON, qu'est-ce qu'elle a de mieux que l'autre avec les this ?

                      Encore une question : Quand on veut avoir un objet avec quelques variables aléatoires... comme le mien, on est obligé de le déclarer en tant que fonction ?

                      Encore une question :
                      Pour ça ne marche pas ?
                      (j'ai commenté à la ligne qui bug)
                      function smiley()
                      {
                      	this.up=random(10);
                      	this.left=random(10);
                      	this.right=random(10);
                      	this.down=random(10);
                      	this.img=document.createElement("img");
                      	document.getElementById("body").appendChild(this.img);
                      	this.img.style.zIndex='1';
                      	this.img.style.position="absolute";
                      	this.img.style.display="block";
                      	this.img.setAttribute("src","http://gifs.toutimages.com/images/musiques/instruments/music_instr_006.gif");
                      	this.width=this.img.clientWidth;
                      	this.height=this.img.clientHeight;
                      	
                      	var bordv=random(3);
                      	if(bordv==0)
                      	{
                      		this.vertical="top";
                      	}
                      	else
                      	{
                      		this.vertical="bottom";
                      	}
                      	this.v=function(nb)
                      	{
                      		this.img.style[this.vertical]=nb+'px';
                      	};
                      	this.v(0);
                      	
                      	var bordh=random(3);
                      	if(bordh==0)
                      	{
                      		this.horizontal="left";
                      	}
                      	else
                      	{
                      		this.horizontal="right";
                      	}
                      	this.h=function(nb)
                      	{
                      		var nb2=pif(0-this.height,document.body.clientHeight);//le problème se situe ici... this.height vaut 0...
                      		this.img.style[this.horizontal]=nb+'px';
                      	};
                      	this.h(pif(0-this.height,document.body.clientHeight));
                      	
                      
                      }
                      var smiley=new smiley();
                      
                      • Partager sur Facebook
                      • Partager sur Twitter
                        8 avril 2009 à 17:54:04

                        Pour ton dernier problème, je ne le vois pas... chez moi, le this.height vaut bien 45px (la hauteur de l'image)...
                        • Partager sur Facebook
                        • Partager sur Twitter
                          10 avril 2009 à 17:02:36

                          En fait c'est bon... je suis juste un boulet...
                          • Partager sur Facebook
                          • Partager sur Twitter

                          question tout bête sur les méthodes et les objets

                          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                          • Editeur
                          • Markdown