我有一个带有函数名的数组,我希望下面的代码用函数名迭代数组并检查函数名是否存在。
如果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");
}
答案 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;是你在找什么