2011-10-04 169 views
0

可能重複:
Get property of object in JavaScript如何使用變量訪問JavaScript對象方法?

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}; 
} 

如何運行的方法term.walk()使用字符串 '走'?

+0

http://stackoverflow.com/questions/3695243/get-property-of-object-in-javascript這已經被問了很多次。 – user113716

回答

2

有一對夫婦的方式。最簡單的是

term[fn](); 

或可替代

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

使用term[fn]訪問<fn>財產term

所有屬性可以使用object["propertyname"]訪問。可以通過window["propertyname"]調用全局定義的屬性/方法。

這裏只有一次,其中的變量無法通過obj["prop_name"]訪問:

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