var objectliteral = {
func1:fn(){},
func2:fn(){},
.................
funcn:fn(){}
}
我知道我可以使用点符号来调用该对象文字中的方法:
objectliteral.func1();
但我想使用这样的数组符号来做到这一点:
objectliteral[func1]. .... something something......
我该怎么做?我知道我可以使用应用或调用方法 - 但我仍然不太明白它们是如何工作的。
我可以这样做吗?:
objectliteral[func1].apply();
解决
基于答案:
objectliteral['func1']()
就是我所需要的。 谢谢你们。
答案 0 :(得分:11)
不,这样做:
objectliteral['func1']();
您还可以使用动态名称:
var myfuncname='func1';
objectliteral[myfuncname]();
答案 1 :(得分:2)
你可以这样做:
var objectLiteral = {
func1: function() { alert('func1'); },
func2: function() { alert('func2'); }
};
// This does the same thing...
objectLiteral['func1']();
// As this does
objectLiteral.func1();
答案 2 :(得分:1)
你可以试试这个:
objectliteral['func1']();
答案 3 :(得分:1)
用户objectliteral["funct1"].apply()
或objectliteral["funct1"]()
。
您还可以使用变量传递函数名称
var funname = "funct1";
objectliteral[funname ]()
答案 4 :(得分:1)
您可以执行objectliteral["func1"]();
答案 5 :(得分:1)
var func1 = 'func1'
objectLiteral[func1]();
应该让你工作。