Probléme classe javascript ....

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 Cher Fourm,

Voici que je galére pour faire ceci :




Je crée 2 classes:


//Création de ma 1° classe "animau"


var Classe_coordonnees_animau = Class.create();
Classe_coordonnees_animau .prototype = {
initialize : function(long, lat, comment){
this.long = long;
this.lat = lat;
                          this.commentaire = comment;
}
var point1 = new Classe_coordonnees_animau(32.255488,3.2186515,canard);
var point2 = new Classe_coordonnees_animau(45.684221,9.5438915,oiseaux);
----
var pointn = new Classe_coordonnees_animau(n,n,n);
 
//Création de ma 2° classe "perso"
var Classe_coordonnees_Humain = Class.create();
Classe_coordonnees_Humain .prototype = {
initialize : function(long, lat, comment){
this.long = long;
this.lat = lat;
                          this.commentaire = comment;
}
var point1 = new Classe_coordonnees_perso (32.254313,4.4537375,Mathieu);
var point2 = new Classe_coordonnees_perso  (52.25455,6.2595225,Julien);

Ensuite voici lal   function initialize qui prend comme paramétre 'long' 'lat' 'comment'
function initialize(long,lat,comment)
{
blablabla
}

Du coup si je veux placer tous les points de la classe 1 "Classe_coordonnees_animau " en faisant appel à la fonction 'initialize'
je fait :
for(var k =point1;k in pointn ;k++) ; /*Quel est la bonne formule ???????? pour ce for ?*/
{
var long= Classe_coordonnees_perso [long];
var lat= Classe_coordonnees_perso [lat];
var commentaire =Classe_coordonnees_perso [comment]; 
initialize(long,lat,comment)
}

Merci bcp des aides à venir !!!!

6 réponses

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

sans préjuger du reste ( j'ai quand même vu quelques anomalies )

var pointn=new Array();
pointn[0]=new Classe_coordonnees_animau...
pointn[1]=new Classe_coordonnees_animau...

for ( var k=0;k<tbody><tr><td>          [mon Site] [M'écrire] Bul         
</td></tr></tbody></table>
Messages postés
626
Date d'inscription
samedi 28 septembre 2002
Statut
Membre
Dernière intervention
18 mai 2009
3
Alors...

var point1 = new Classe_coordonnees_animau(32.255488,3.2186515,canard);
>> N'oublis pas de mettre d'entourer tes string par des quotes/double quotes.

var long= Classe_coordonnees_perso [long];
>> Pas d'espace entre Classe_coordonnees_perso et [long].
>> Remarque : tu peux également noter de cette facon : var long= Classe_coordonnees_perso.long;

PLutôt que de créer n variables "point", mets tous tes points dans un tableau.
Exemple :

var points = [];
points[0] = new Classe_coordonnees_animau(32.255488,3.2186515,"canard");
points[1] = new Classe_coordonnees_animau(45.684221,9.5438915,"oiseaux");

L'avantage de cette méthode est que tu vas pouvoir parcourir facilement tes points :

for(var k=0; k<points.length; k++) ;
{
var long = points[k].long;
var lat = points[k].lat;
var commentaire = points[k].comment;
initialize(long,lat,commentaire);
}
Messages postés
626
Date d'inscription
samedi 28 septembre 2002
Statut
Membre
Dernière intervention
18 mai 2009
3
Bon et bien je suis arrivé un peu tard mais l'idée est là.
Messages postés
152
Date d'inscription
lundi 21 avril 2008
Statut
Membre
Dernière intervention
20 novembre 2011

Déclaration de mes classes :



//Création de ma 1° classe "animau"


var Classe_coordonnees_animau = Class.create();
Classe_coordonnees_animau .prototype = {
initialize : function(long, lat, comment){
this.long = long;
this.lat = lat;
                          this.commentaire = comment;
}
var point_animau=new Array();
point_animau[0]=new Classe_coordonnees_animau(32.255488,3.2186515,canard);
point_animau[1]=new Classe_coordonnees_animau(45.684221,9.5438915,oiseaux);
----
point_animau[n]= new Classe_coordonnees_animau(n,n,n);
 
//Création de ma 2° classe "perso"
var Classe_coordonnees_Humain = Class.create();
Classe_coordonnees_Humain .prototype = {
initialize : function(long, lat, comment){
this.long = long;
this.lat = lat;
                          this.commentaire = comment;
}


var point_perso=new Array();
point_perso[0]=new Classe_coordonnees_perso (32.254313,4.4537375,Mathieu);
point_perso[1]=new Classe_coordonnees_perso  (52.25455,6.2595225,Julien);
----
point_perso[n]= new Classe_coordonnees_animau(n,n,n);













for
(
var k=0;k <point_animau;k++) ;
{
var long= Classe_coordonnees_perso [long];
var lat= Classe_coordonnees_perso [lat];
var commentaire =Classe_coordonnees_perso [comment]; 
initialize(long,lat,comment)
}

Ce code est-il correct ???

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

Cool, merci pr vos interventions

//Création de ma 1° classe "animau"
var Classe_coordonnees_animau = Class.create();
Classe_coordonnees_animau .prototype = {
initialize : function(long, lat, comment){
this.long = long;
this.lat = lat;
                          this.commentaire = comment;
}
var point_animau=new Array();
point_animau[0]=new Classe_coordonnees_animau(32.255488,3.2186515,"canard");
point_animau[1]=new Classe_coordonnees_animau(45.684221,9.5438915,"oiseaux");
----
point_animau[n]= new Classe_coordonnees_animau(n,n,n);
 
//Création de ma 2° classe "perso"
var Classe_coordonnees_Humain = Class.create();
Classe_coordonnees_Humain .prototype = {
initialize : function(long, lat, comment){
this.long = long;
this.lat = lat;
                          this.commentaire = comment;
}

var point_perso=new Array();
point_perso[0]=new Classe_coordonnees_perso (32.254313,4.4537375,"Mathieu");
point_perso[1]=new Classe_coordonnees_perso  (52.25455,6.2595225,"Julien");
----
point_perso[n]= new Classe_coordonnees_animau(n,n,n);

for(var k=0; k<point_animau.length; k++) ;
{
var long =point_animau[k].long;
var lat = point_animau[k].lat;
var commentaire = point_animau[k].comment;
initialize(long,lat,commentaire);
}








 





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

Bonjour,



function maFonctionJS()  
{  
    var selectedValue = document.getElementById('monCombo')[document.getElementById('monCombo').selectedIndex].id ;  
 
    if (selectedValue=="option1")  
    {  
alert('option1');
   
       var Classe_coordonnees_MB2 = Class.create();
        Classe_coordonnees_MB2 .prototype = {
      initialize : function(longi, lat, comment){
      this.longi = longi;
      this.lat = lat;
      this.commentaire = comment;
      }
      }
 

alert('avt boucle');



     var point_MB2=new Array();
    point_MB2[0]=new Classe_coordonnees_MB2(32.255488,3.2186515,"T1");
    point_MB2[1]=new Classe_coordonnees_MB2(32.255488,3.2186515,"T2");  
 
         for(var k=0; kalert('ds boucle for');
         var longi =point_MB2[k].longi;
         var lat = point_MB2[k].lat;
         var commentaire = point_MB2[k].comment;
         place(longi,lat,commentaire);
         }        
 
   }

Voilà j'ai un problème au niveau de ma classe. En effet lorsque (dans mon combobox) je choisi "option1" j'ai bien la fenêtr qui apparaît. La fenêtre  alert('avt boucle');n'apparait pas elle (ni alert('ds boucle for');  du même coup). C'est pq j'en déduit qu'il doit avoir un problème au niveau de la classe....

Merci
(en esperant qu'il y a une solution)