在判断变量时,涉及的场景很多,需分情况讨论。
场景 | 方法 |
---|---|
判断为null或undefined | 使用 == 或 === |
判断为空对象{ } | 通过for...in遍历变量属性,调用hasOwnProperty()判断是否有自身存在的属性 |
判断为空数组 | 用instanceof判断是否为数组,用length判断是否长度为0 |
判断为空字符串 | 1.与空字符串比较;2.用trim()去掉前后空格再判断字符串长度 |
判断为0或NaN | !(Number(num) && num) == true |
!x == true 的所有情况 | 1. null;2. undefined;3. 0,+0,-0;4.NaN;5.空字符串;6.false |