开发过程中一定要注意,判断时 尽量不要写 str == undefined str == null str == "",经常容易出现判断的值发生变化了,如从undefined变成了"",这样判断就出问题了;尽量用 !str 这种来进行判断;
1、如何判断表达式是否为空;
null 和 undefined 既不等于 false也不等于true,但是在前面加上非后(!null !undefined),就相当于Boolean的false,得到的结果当然还是true;
空字符串""等于 false,所以 !"" 也等于 true;
数字0也等于 false,所以!0 也是true;
所以:要判断一个表达式是否为空,即 if (str != null && str != undefined && str != "") 等价于 if (!str) { do something }
2、判断一个对象是否为空对象即{}
① 使用JSON.stringify(obj) : 当JSON.stringify(obj) == "{}" 为true 则obj为空对象;
② 使用es6的Object.keys(obj) 当 Objcet.keys(obj).length == 0 为true,则obj为空对象;