山水山水,有山有水才是好风光。夜色越来越浓了,村落啦,树林子啦,坑洼啦,沟渠啦,好象一下子全都掉进了神秘的沉寂里。
如果多人合作开发一个JS项目的话,有时为了代码能够更好的执行少不了要判断一些 js 函数或 js 的变量是否存在。如果存在可以直接调用,如果不存在就需要定义了。那么下面这篇博文,飞鸟慕鱼就来和大家说一说 js 中如何判断函数与变量是否存在的方法。
js判断函数是否存在的方法
js判断函数是否存在,可以通过typeof来判断,通过判断eval(函数名)这个类型是否是function即可。
js代码:
<script> //判断 FunName 为函数名称 if (typeof eval(funcName) === "function") { alert("is function"); } else { //不是函数 alert("not is function"); } </script>
一般情况下都是结合 try catch 块来判断该函数是否存在,如下面的代码
js代码:
<script> try { if (typeof eval(funcName) === "function") { //是函数 其中 FunName 为函数名称 alert("is function"); } else { //不是函数 alert("not is function"); } } catch (e) { console.log("-------我异常了........"); } </script>
js判断变量是否存在的方法
js判断变量是否存在,使用 typeof(变量名) == "undefined" 即可!
js代码:
<script> // a 变量名,这里未定义 if (typeof(a) == "undefined") { alert("a is undefined") } else { alert("a is defiend") } </script>
注:如果定义了变量,但没有赋值,上面的代码也会判断为变量不存在,可以参考下面的代码。
js代码:
<script> // a 定义了变量,但未赋值,其值为 undefined var a; if (typeof(a) == "undefined") { alert("a is undefined") } else { alert("a is defiend") } </script>
运行结果为:
a is undefined
我们推荐结合 try catch 块来使用上面的代码:
js代码:
try { if (typeof (a) == "undefined") { alert("a is undefined") } else { alert("a is defiend") } } catch (e) { console.log('我异常了'); }
PS:
如果大量使用JS判断变量或函数是否存在的代码,我们建议把上面的代码封装成一个函数来调用。
JS代码示例:
<script> //判断变量是否存在 function is_variable(variableName){ try { if (typeof (variableName) == "undefined") { return false; } else { return true; } } catch (e) { console.log('我异常了'); } return false; } //判断函数是否存在 function is_function(functionName){ try { if (typeof eval(functionName) === "function") { return true; } else { return false; } } catch (e) { console.log("-------我异常了........"); } return false; } </script>
本文javascript 判断函数或变量是否已定义的方法到此结束。相信别人,放弃自己,这是许多人失败人生的开始。小编再次感谢大家对我们的支持!