Javascript函数按字符串名称调用

时间:2011-12-05 06:04:25

标签: javascript

我有一个像这样定义的javascript函数

function is_mandatory(string){
     if(string.length > 0 )
 return true;   
}

现在,我正在尝试将定义为sting name的函数调用

var is_mandatory; 

is_mandatory("Check"); 

但是,这会返回一个错误,说变量不是函数。如何从字符串名称调用该函数。

干杯!

4 个答案:

答案 0 :(得分:2)

这样可行。

function is_mandatory(str){
     return (str.length > 0 );
}

is_mandatory("Check"); 

您无需为var

声明is_mandatory

答案 1 :(得分:0)

运行此代码时,您将is_mandatory重新定义为未定义的变量:

var is_mandatory;

但我不认为这是你的意图。只需完全删除var行。

答案 2 :(得分:0)

如果你的变量在窗口范围内声明,你可以这样做:

function is_mandatory(str){
    if(window[str].length > 0 )
        return true;   
}

JS Fiddle Example

答案 3 :(得分:-2)

使用您的函数初始化变量,然后尝试调用它。

var is_mandatory = is_mandatory;

is_mandatory("Check");