CRéation d'objet [Résolu]

Signaler
Messages postés
152
Date d'inscription
lundi 21 avril 2008
Statut
Membre
Dernière intervention
20 novembre 2011
-
Messages postés
152
Date d'inscription
lundi 21 avril 2008
Statut
Membre
Dernière intervention
20 novembre 2011
-
Bonjour,

POur créer un objet avec ces propriété il faut créer une classe
??? si oui, comment faites vous pour en créer une . merci

if (selectedValue=="blabla2")

{

alert('option1');
//CREATION DE LA CLASSE ................. est ce comme cela ??????
var Classe_coordonnees_MB2 = Class.create();
alert('a');

Classe_coordonnees_MB2 .prototype = {

initialize : function(longi, lat, comment){

this.longi = longi;

this.lat = lat;

this.commentaire = comment;

}

}

alert('avt boucle');

 A partir de la ligne
var Classe_coordonnees_MB2 = Class.create();
le prog ne s'écute plus!

Merci
si vous pouvez donnez le code pour créer un objet avec des propriétés "longi" "lat" et "comment" merci

8 réponses

Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
bonjour,

c'est pas qu'il ne s'exécute plus, c'est qu'il donne une erreur.
Class.create.... ça n'existe pas en javascript.

>>POur créer un objet avec ces propriété il faut créer une classe
ben non.... quoique....

<script>
    function obj( lo,la,cm)
    {       this.long = lo
            this.lat = la;
            this.commentaire = cm;
    }
    var MB1 = new obj(1,2,"exemple");

    var MB2 = new obj(100,200,"exemple Mb2");

    alert(MB1.commentaire);

    alert(MB2.long);

</script>

c'est un exemple, et dépend de ce que tu veux en faire...

Cordialement

          [mon Site] [M'écrire] Bul         
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
bah... on n'a pas déjà causer de cela il y a peur de temps ?

soit tu fais
   var MB=new Array();

   MB[0] = new obj(1,2,"exemple");

   MB[1] = new obj(100,200,"exemple Mb2");

    for ( var n=0;n<MB.length;n++)

    {    alert  (   n+" =\r\n"+

                    "longitude  \t: " + MB[n].long + "\r\n" +

                    "latitude   \t: " + MB[n].lat  + "\r\n" +

                    "commentaire\t: " + MB[n].commentaire

                );

    }

ou alors ( mais bonf... )
   var MB1 = new obj( 1, 2, "exemple" );

   var MB2 = new obj( 100, 200, "exemple Mb2" );

    n=1;

    while ( window["MB"+n] )

    {    alert  (   n+" =\r\n"+

                    "longitude  \t: " + window["MB"+n].long + "\r\n" +

                    "latitude   \t: " + window["MB"+n].lat  + "\r\n" +

                    "commentaire\t: " + window["MB"+n].commentaire

                );   

        n++;

    }

dois bien y avoir d'autres approches....

          [mon Site] [M'écrire] Bul         
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
16
Bonjour,
<table bgcolor="#e6effe" border="0" cellpadding="5" cellspacing="0" width="100%">----, En effet l'alert(k); affiche que k est égale à
2 Dés le 1° tour >?? pourtant la 1° de la boucle est
correct</td>
</td></tr></tbody></table>
for(var k=0; k<=point_MB2.length;
k++) ;
cette ligne fait que le compteur tourne à vide à cause du
; à la fin de l'instruction for, supprimes le et retestes...
;O)
Messages postés
152
Date d'inscription
lundi 21 avril 2008
Statut
Membre
Dernière intervention
20 novembre 2011

Ahh merci bien... enfin ca marche (enfin presque ^^)

var Classe_coordonnees_c1 = function(longitude, latitude, commentaire)
{
  this.longitude = longi;
  this.latitude = lat;
  this.commentaire = commen;
}
var point_MB2=new Array();
point_MB2[0]=new Classe_coordonnees_c1(32.255488,3.2186515,"1e");
point_MB2[1]=new Classe_coordonnees_c1(32.255488,3.2186515,"2o");

alert(point_MB2[0].longitude);
alert(point_MB2[0].commentaire);
//les alert affichent le bon résultat !!! :)
 
//le problème vient de la boucle for ..... En effet l'alert(k); affiche que k est égale à 2 Dés le 1° tour >?? pourtant la 1° de la boucle est correct
 for(var k=0; k<=point_MB2.length; k++) ;
         {
alert(k);
         var longi =point_MB2[k].longitude;
         var lat = point_MB2[k].latitude;
         var comment = point_MB2[k].commentaire;
         place(lat,longi,comment);
         }       
  

Merci !
Messages postés
152
Date d'inscription
lundi 21 avril 2008
Statut
Membre
Dernière intervention
20 novembre 2011

Merci bien l'équipe.
Avec mes remerciements !
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
ah ben... j'avions point lu jusqu'au bout !
petoleTeam++ :  le : derrière le for gène un ch'tiot poil.
          [mon Site] [M'écrire]   Bul         
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
16
Pendant que l'on y est
for(var k= 0; k < point_MB2.length; k++)
<
(INF) uniquement car le = (EGAL) va aller lire un index du tableau que tu n'as
pas initialisé, les tableaux commençant à l'indice 0.
;O)
Messages postés
152
Date d'inscription
lundi 21 avril 2008
Statut
Membre
Dernière intervention
20 novembre 2011

^^ Bien vu.
avant de tout retesté j'ai relu le script et j'avais vu cette erreur. :)
Mais merci qd même !!