我有这样的javascript查询,用于检查undefined
数组和empty
数组:
if(array){ if(array.length > 0){ function1(); }else{ function2(); } }else{ function2(); }
我尝试过类似的东西
if(array && ( array.length > 0)){ function1(); }else{ function2(); }
但没有骰子,得到一个variable is undefined
错误.根据这个答案做if(variable)
作品只是罚款这种用例,但字符串,而不是数组这仅适用.在这样的情况下,有没有办法在javascript中做二合一?
...我得到一个变量是未定义的错误
这意味着array
未声明所有的任何地方.为了抵御这种情况,您可以使用typeof
:
if (typeof array !== "undefined" && array && array.length > 0)
实例 | 资源
完全未定义的符号与解析为包含值undefined.
Confusing 的变量的已定义符号之间存在差异,但为true.你可以安全地使用typeof
任何东西,甚至可以在任何地方使用完全未声明的东西,但是如果你试图读取未在任何地方声明的东西的值,你会得到它ReferenceError
说它不存在.