我有一个像这样的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
错误。根据{{3}}做if(variable)
对于这个用例来说效果很好,但这只适用于字符串而不是数组。在这种情况下,有没有办法在javascript中做二合一?
答案 0 :(得分:5)
...我得到一个变量是未定义的错误
这意味着array
未在任何地方声明 。为了防范这种情况,您可以使用typeof
:
if (typeof array !== "undefined" && array && array.length > 0)
完全未定义的符号与解析为包含值undefined.
的变量的已定义符号之间存在差异,但是为真。您可以安全地使用typeof
来处理任何事情,甚至是在任何地方完全未声明的内容,但如果您尝试阅读未在任何地方声明的内容的值,您将获得{{1>} {1}}说它不存在。