扫码关注官方订阅号
obj == 'undefined' || !obj,如题,这里obj正常是一个js对象或者json对象,undefined理解,就只不存在,但是!obj是怎么个意思啊
ringa_lee
补充一下,"undefined" 不是 undefined,前者是一个字符串,后者是一个值。字符串 "undefined" 转换成 boolean 时为 true,值 undefined 转换为 boolean 时为 false。
"undefined"
true
undefined
false
|| 是或 所以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,空字符串"); }
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
补充一下,"undefined" 不是 undefined,前者是一个字符串,后者是一个值。字符串
"undefined"
转换成 boolean 时为true
,值undefined
转换为 boolean 时为false
。|| 是或
所以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