在javascript中使用param执行动态函数

时间:2012-09-13 03:18:02

标签: javascript

如果以下可能? 我希望将警报(结果)移动到一个函数中并动态调用它。

当前

$.ajax(this.href, {
    success: function (result)
    {
        alert(result);

        AjaxComplete();
    }
});

我的尝试 - 无法正常工作

$.ajax(this.href, {
    success: function (result)
    {
        window["MyAlert(result)"]();

        AjaxComplete();
    }
});

function MyAlert(result)
{
    alert(result);
}

这可能吗?

2 个答案:

答案 0 :(得分:3)

为什么你不能这样做?

MyAlert(result);

如果MyAlertwindow对象的一部分,则它已经是全局的。

除非您想通过名称调用任意函数(这不是真正的好习惯,IMO),您可以这样做:

window[function_name_string](argument);

答案 1 :(得分:1)

window["MyAlert(result)");

是无效的语法(错配[),错误的函数名称,根本没有调用它,只是得到它...)。应该是

window["MyAlert"](result);

如果你想这样称呼它,但我认为没有理由你不能像Blender所说的那样正常地调用它。