0

假设我有函数x.a()x.b(). 我想决定哪个函数通过变量执行,但它不按我的方式工作。这是我的代码,希望你能帮助我。

var x = { 
    y: function(f, g){
        f(g);
    }
    a: function(txt){
        console.log(txt);
    },
    b: function(txt){
        console.error(txt);
    }
}

所以当我打电话时x.y("a", "Some text");,它和我打电话时一样x.a("Some text");

谢谢!

4

1 回答 1

2

使用方括号按名称访问对象的属性:

var x = { 
    y: function(f, g) {
        this[f](g);
    },
    a: function(txt) {
        console.log(txt);
    },
    b: function(txt) {
        console.error(txt);
    }
};
于 2012-08-31T00:49:40.557 回答