使用动态字符串作为函数名称失败,并出现错误"...is not a function"



我有一个字符串,我试图使用作为Jquery 2.2函数的名称。下面是它的样子:

var barBaz = 'myFunctionName';

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

myFunctionName.changeView('success');

当我直接调用这个函数时,它工作了。但是当我尝试这个:

[barBaz].changeView('success');

我得到这个错误:

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

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

事实证明,由于这个函数来自第三方js文件,我需要使用eval(),所以最终结果看起来像这样:

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

相关内容

最新更新