obj == 'undefined' || !obj,如题,这里obj正常是一个js对象或者json对象,undefined理解,就只不存在,但是!obj是怎么个意思啊
obj == 'undefined' || !obj,如题,这里obj正常是一个js对象或者json对象,undefined理解,就只不存在,但是!obj是怎么个意思啊
|| 是或
所以A || B 这样写的时候,如果A为true,后面的B直接就不用看了,整句返回true。
如果A为false才会去看B为true还是false,从而判断整句是true还是false
例子:
var a= msg || ""; //msg是一个变量
这句的意思就是,如果msg变量不是(0,null,undefined,空字符串等),a就等于msg,否则a为空字符串
!obj的在此句中的意思就判断obj是不是一个对象,是对象就为false,不是对象就为true
if(obj){
console.log("obj是一个对象,或一个非undefined,null,0,空字符串的值");
}
if(!obj){
console.log("obj不是一个对象,并且obj可能是undefined,null,0,空字符串");
}
1 回答856 阅读✓ 已解决
1 回答1.1k 阅读
2 回答775 阅读
2 回答619 阅读
2 回答607 阅读
1 回答681 阅读
2 回答520 阅读
补充一下,"undefined" 不是 undefined,前者是一个字符串,后者是一个值。字符串
"undefined"转换成 boolean 时为true,值undefined转换为 boolean 时为false。