jquery 使用动态字符串作为函数名失败,错误为“...不是函数”[duplicate]

41ik7eoe  于 2022-12-12  发布在  jQuery
关注(0)|答案(1)|浏览(83)

此问题在此处已有答案

"Variable" variables in JavaScript(8个答案)
6天前关闭。
在Jquery 2.2中,我尝试使用一个字符串作为函数的名称。

var barBaz = 'myFunctionName';

然后我想调用一个函数,它看起来像这样:

myFunctionName.changeView('success');

当我直接调用这个函数时,它是有效的。但是当我尝试这样做时:

[barBaz].changeView('success');

我得到这个错误:

Uncaught TypeError: [...].changeView is not a function

很明显,我在理解使用字符串作为函数名的语法时遗漏了一些东西。(我还尝试了window[barBaz]方法,但没有取得更好的成功)我哪里错了?

vmdwslir

vmdwslir1#

由于这个函数来自第三方的js文件,我需要使用eval(),所以最终结果如下:

var barBaz = 'myFunctionName';
eval(barBaz).changeView('success');

相关问题