2011-10-04 7 views
0

Possible en double:
Get property of object in JavaScriptComment accéder aux méthodes des objets javascript avec une variable?

var Terminal = function() { 
    this.walk = function() { 
    alert('hello'); 
    } 
    this.go = 'walk'; 
    this.move = 'walk'; 
} 

var term = new Terminal(); 
var fn = 'walk'; 
if (term.hasOwnProperty(fn)) { 
    term.{fn}; 
} 

Comment puis-je utiliser la méthode term.walk() en utilisant 'marcher' la chaîne?

+0

http://stackoverflow.com/questions/3695243/get-property-of-object-in-javascript Cela a été demandé à plusieurs reprises. – user113716

Répondre

2

Il y a deux façons. Le plus simple est

term[fn](); 

Ou bien

var funcObj = term[fn]; 
funcObj.apply(term); 
1

Utilisez term[fn] pour accéder à la propriété <fn> de term.

Toutes les propriétés sont accessibles à l'aide de object["propertyname"]. Les propriétés/méthodes définies globalement peuvent être appelées via window["propertyname"].

Il n'y a qu'une seule fois où les variables ne sont pas accessibles par obj["prop_name"]:

function foo(){ 
    var bar = 759; 
    //There is no "obj" where obj.bar exists. 
} 
Questions connexes