有两种方法可以检查变量或属性是否存在。
第一个断言不返回虚假值。
1.
var testVar;
if(!testVar){
//use testVar becuase it exists
}
第二个明确断言两个条件。
2.
var testVar;
if(testVar !== undefined && testVar !== null){
//use testVar becuase it exists
}
为了检查对象/字符串/数字/数组是否存在,两者之间有什么区别吗?
最佳答案
他们是不同的。如果您尝试输入 {}
或 1
或 true
或 "nyan cat"
...进入 testVar
,然后为 !testVar
返回 false
:
var testVar = {};
if(!testVar){ //false
//will not be executed, but testVar does exist
}
检查变量是否存在的更好方法:
typeof(randomVar); //undefined
typeof(window); //object
<小时/>
附注
var testVar;
if(!testVar){
//...
}
这实际上并没有检查它是否存在。尝试一下
var testVar = "something";
if(!testVar){ //false
console.log("Exist.");
}
//nothing happens.
关于javascript - 这两个 JavaScript bool 表达式有什么区别吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14722794/