使用另一个函数的值调用函数

cod*_*nja 0 html javascript css jquery

函数的名称存储在另一个函数的值中,我需要使用另一个函数调用该函数.

我需要调用popup()函数

random() = 'popup()'

if ($.cookie('optin-page')) {

} 
Run Code Online (Sandbox Code Playgroud)

我试过了

if ($.cookie('optin-page')) {
    window[random()];
}
Run Code Online (Sandbox Code Playgroud)

Que*_*tin 6

您不能为函数调用的返回值赋值.在其中的声明的左侧=不能结束().(即代码的第一行是错误的).

如果要调用名称与所调用函数的返回值匹配的全局函数,random则可以:

window[random()]();
Run Code Online (Sandbox Code Playgroud)

...但是在你考虑这样做的任何时候,你应该将这些函数存储在一个对象中,然后将它们作为该对象的方法来调用:

var foo = { 
    a: function () { 
        alert('e.g.'); 
    } 
};
function picker() { 
    return "a";
}
foo[picker()]();
Run Code Online (Sandbox Code Playgroud)