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

请教各位一个问题,求解答:怎么这样调用函数呢?感激不尽

请教各位一个问题,求解答:怎么这样调用函数呢?感激不尽

浮云间 2019-08-17 09:49:19
functionaaa(){console.log('1')}varfnName='aaa'[fnName]()//这样会报错想以字符串作为函数名称,有办法吗?
查看完整描述

2 回答

?
犯罪嫌疑人X

TA贡献2080条经验 获得超4个赞

方括号就是要字符串,但这是不能省略调用对象的,你定义的函数在浏览器中是在window对象下的,所以应该window[fnName]()这样调用
上面回答很仔细了,在没有window对象的情况下,定义对象是最稳妥的。想删了答案,结果要扣分,那算了,我贴一篇文章吧,也算没白回答,更具有普适性的方式(支持字符串点操作,对字符串错误更为友好,不过有时undefined不如直接报错):Howtoexecuteafunctionfromitsstringname(executefunctionbyname)inJavaScript|OurCodeWorld
                            
查看完整回答
反对 回复 2019-08-17
  • 2 回答
  • 0 关注
  • 255 浏览
慕课专栏
更多

添加回答

举报

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