如果我有与函数名称相同的字符串,如何调用 javascript 函数?
我有 Ajax 请求和响应:
{"message":"Updated","function":"UpdateClientsData()"}
Submit.done(function (response){
var resultArray = JSON.parse(response);
$.each( resultArray, function( key, value ) {
if( key == "function")
{
var run = value;
[run]();
}
});
function UpdateClientsData()
{
console.log("aaaaa");
}
我收到错误消息“未捕获的类型错误:对象不是函数”。我在这里缺少什么?
错误行[run]();
谢谢
最佳答案
如果不指定对象,则不能使用括号表示法。使用 [run]
将被解释为数组文字。
使用window
对象访问该函数:
window[run]();
但首先您需要删除 ()
以仅获取函数名称:
var run = value.replace('()', '');
关于javascript - Ajax 响应字符串作为函数名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29591200/