Javascript 变量名的类型==函数不工作
我有一个带有函数名的数组,我希望下面的代码用函数名遍历数组,并检查函数名是否存在 如果func_3不存在,它应该检查func_4是否存在,并且在检查数组中的所有函数是否存在之前不停止循环 我已经花了很多时间在这个问题上,但我不知道我哪里出了问题,请帮助我 演示代码Javascript 变量名的类型==函数不工作,javascript,function,variables,typeof,Javascript,Function,Variables,Typeof,我有一个带有函数名的数组,我希望下面的代码用函数名遍历数组,并检查函数名是否存在 如果func_3不存在,它应该检查func_4是否存在,并且在检查数组中的所有函数是否存在之前不停止循环 我已经花了很多时间在这个问题上,但我不知道我哪里出了问题,请帮助我 演示代码 function func_1(){ alert("FUNCTION EXISTS"); } function func_2(){
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");
}
函数func_1(){
警报(“功能存在”);
}
函数func_2(){
警报(“功能存在”);
}
变量函数=[“func_1”、“func_2”、“func_3”、“func_4”];
对于(var i=0;i控制台日志(a型) 假设您的函数如下所示:
function req(){
alert('hello world');
}
然后
因为'req'和'a'都是函数类型
==========================================================
更新
如果仍然希望使用更新的代码调用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");
}
函数func_1(){
警报(“功能存在”);
}
函数func_2(){
警报(“功能存在”);
}
变量函数=[“func_1”、“func_2”、“func_3”、“func_4”];
对于(var i=0;i“var foo=new Function(functions[i])”似乎是您想要的您可以发布一个演示来重现您的问题吗?这听起来不对……这两种情况下都应该有效。您在控制台中收到任何特定错误吗?@Spencer T。我已经输入了一个演示代码,请稍后再试look@elclanrs我已经放了一个演示代码,你能给我一个吗look@ark3typ3哦,现在我明白了,当函数'req'不存在时,它正在破坏循环。即使函数不运行,我如何保持循环迭代exist@Manu请添加代码。我们不明白你说的是哪个循环,你可以用if(reg和typeof req='function')检查函数是否定义@Anupam Singh我已经放了一个演示代码,请看一看,错误在line=>var functions=[func_1,func_2,func_3,func_4];1.从数组元素中删除引号,2。因为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 = new Function(functions[i]);
if(func_name && typeof func_name=='function') {
alert("HELLO WORLD");
}
alert("ITERATING WELL");
}