猿问

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

functionaaa(){
console.log('1')
}
varfnName='aaa'
[fnName]()//这样会报错
想以字符串作为函数名称,有办法吗?
浮云间
浏览 256回答 2
2回答

犯罪嫌疑人X

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

相关分类

JavaScript
我要回答