我可以通过两种方法检查变量或属性是否存在。
第一个断言没有伪造的值被返回。
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
,则它将为false
返回!testVar
:
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/