typeof variablename ==功能不起作用

时间:2016-01-25 04:36:13

标签: javascript function variables typeof

我有一个带有函数名的数组,我希望下面的代码用函数名迭代数组并检查函数名是否存在。

如果func_3不存在,它应该检查func_4是否存在而不是停止循环,直到它检查数组中是否存在所有函数

我花了很多时间在这上面,但无法弄清楚我哪里出错了,请帮忙

演示代码

          function func_1(){
              alert("FUNCTION EXISTS");
            }
            function func_2(){
              alert("FUNCTION EXISTS");
            }
            var functions = ["func_1", "func_2", "func_3", "func_4"];
            for(var i=0;i < functions.length; i++){
                var func_name = functions[i];
                if(typeof func_name=='function') {
                    alert("HELLO WORLD");
                }   
                alert("ITERATING WELL");
            }

2 个答案:

答案 0 :(得分:0)

每当遇到此类问题时,只需尝试console.log(variable_name)变量,然后按脚本上的F12键检查结果。在你的情况下它是 console.log(typeof req); console.log(typeof a);

答案 1 :(得分:0)

假设您的功能如下:

function req(){
alert('hello world');
}

然后

console.log(typeof req) //output "function"

var a=req

console.log(typeof a) //output "function"

因为两者都需要&#39;和&#39; a&#39;是功能类型。

=============================================== ===========

更新

如果您仍想使用更新的代码调用javascript函数,请使用以下命令:

function func_1(){
alert("FUNCTION EXISTS");
}
function func_2(){
alert("FUNCTION EXISTS");
}
var functions = ["func_1", "func_2", "func_3", "func_4"];
for(var i=0;i < functions.length; i++){
var func_name = new Function(functions[i]);
if(func_name && typeof func_name=='function') {
alert("HELLO WORLD");
}   
alert("ITERATING WELL");
}

似乎&#39; var foo = new函数(函数[i])&#39;是你在找什么