OVH Cloud OVH Cloud

lancer une méthode dont le nom est dans une variable

2 réponses
Avatar
Raphaël Wils
Bonjour

Savez vous comment appliquer lancer une méthode d'un objet, le nom de
cette méthode étant stocké dans une variable ?

exemple
-------

function Voiture(){
this.rouler = rouler ;
this.tourner = tourner ;
}
function rouler(){
...
}
function tourner(){
...
}

var Twingo = new Voiture();
var action = "rouler";

// ne marche pas :
Twingo.action();

//option envisageable mais pas souhaitable dans mon cas :
eval("Twingo." + action + "()");


Merci à vous si vous avez la réponse.

--
Raphaël
« Don't mean a thing if you ain't got that swing ! »

2 réponses

Avatar
ASM
Bonjour

Savez vous comment appliquer lancer une méthode d'un objet, le nom de
cette méthode étant stocké dans une variable ?

exemple
-------


var action = 'rouler';

function Voiture(){ this.rouler = rouler ; }

function rouler(){ alert('je roule'); }

var Twingo = new Voiture();

// marche bien :
Twingo[action]();


--
Stephane Moriaux et son [moins] vieux Mac

Avatar
Raphaël Wils
Bonjour

Savez vous comment appliquer lancer une méthode d'un objet, le nom de
cette méthode étant stocké dans une variable ?

exemple
-------


var action = 'rouler';

function Voiture(){ this.rouler = rouler ; }

function rouler(){ alert('je roule'); }

var Twingo = new Voiture();

// marche bien :
Twingo[action]();




Yessssss ça marche....

Merci bien.

--
Raphaël
« Don't mean a thing if you ain't got that swing ! »