JS判定一个对象是否存在
昨天遇见了一个判定对象是否存在的逻辑问题js中判断对象是否为空,本以为很简单,
if(Android){
console.log(“Android存在则输出,不存在则跳过”);

可实际操作却遇见了问题。
1.undefined
var str1;
console.log(str1)
if(!str1){
console.log("ok")
}
if(str1 == null){
console.log("str1 ok")
}
if(str1 == undefined){
console.log("str1 ok")
}
if(typeof str1){
console.log("str1 ok")
}
if(typeof str1 == "undefined"){
console.log("str1 ok")
}
输出:undefined,ok,
这是开发中最常见的,也就是定义了一个变量而没有给他形参,最后调用时侯输出undedined。由于str1是undefined所有if判定他是false,之后输出ok。str1为空js中判断对象是否为空,typeof是undefined。
2.isnotdefined
console.log(str2);
if(typeof str2 == "undefined"){
console.log("str2 ok")
}
if(str2){
console.log("str2 ok")
}
提示:UncaughtReferenceError:str2isnotdefined。str2没有申明,所以提示isnotdefined。对于一个没有申明的变量他的typeof是undefined。直接consolestr2会报错,所以if(str2)不能判定str2是否存在。

