为了账号安全,请及时绑定邮箱和手机立即绑定

Javascript有没有动态执行函数的方法(函数名字动态)

Javascript有没有动态执行函数的方法(函数名字动态)

青春有我 2018-08-10 10:09:52
需求是我根据点击元素的ID执行对应ID名称的函数初始化方法。我之所以用动态的原因是作为前端角色,我不知道每个ID是什么。(实际上我是知道了)var oId; $('#btn').click(function () {     oId = $('xxx').attr('id');    //具体实现不重要     // oId 的具体格式是 [id]-[时间戳]     var arr = oId.split('-');    eval(arr[0]+".init()"); });是否有其他的方法来解决?(并不排斥 eval函数 )补充:以防一些朋友不明白。就是一般我们调用函数方法如下: func.init(); 调用 func 方法的 init(); 现在我需要 func 这个是动态的,变成xxx.init();最终方案:有助于关注问题的朋友知道。var oId; $('#btn').click(function () {     oId = $('xxx').attr('id');    //具体实现不重要     // oId 的具体格式是 [id]-[时间戳]     var arr = oId.split('-');         // 解决方法如下     var fn = window[arr[0]];    if( fn && fn.init ) {         fn.init();     } });
查看完整描述

1 回答

?
慕工程0101907

TA贡献1887条经验 获得超5个赞

假设你的方法是全局的

window[a[0]]['init']()


查看完整回答
反对 回复 2018-09-23
  • 1 回答
  • 0 关注
  • 1290 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信