如果我的字符串与函数名相同,我怎么能调用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");
}
我收到错误消息说'未捕获TypeError:对象不是函数'。我在这里缺少什么?
错误行[run]();
谢谢
答案 0 :(得分:2)
如果不指定对象,则不能使用括号表示法。使用[run]
将被解释为数组文字。
使用window
对象访问该功能:
window[run]();
但首先您需要删除()
以仅获取函数名称:
var run = value.replace('()', '');