JS能否用变量值调用方法或函数?
先上现有代码:
function A(value) {
console.log('called A:' + value.message);
}
function B(value) {
console.log('called B:' + value.message);
}
var f = {
'A': A,
'B': B
};
var x1 = {
message: 'x1'
};
f.B(x1);//能得到期望值:called B:im the message of x1
现在有一个值:
var x2 = {
value: 'A',
message: '100'
};
有什么办法能在不使用 if
或 switch
,直接用x2中value的值A
调用f的方法A
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
你这种调用写的有点绕,其实只要理解key/idx的机制即可。
可以
f[ x2.value ]( x2 )
而你目前的思路,我的话则整合成功能型:
如果A/B是全局作用域
可以用 window[x2.value]() 调用
也可以使用eval