美文网首页Web 前端开发
if(xx) 和 a==b 的判断

if(xx) 和 a==b 的判断

作者: passMaker | 来源:发表于2018-07-18 14:23 被阅读10次

    if的判断

    if(xx) {

    对于括号里的表达式,会被强制转换成布尔类型。

    Undefined 转换为 false;
    Null 转换为false;
    Boolean 直接转换;
    Number: +0、-0、NaN 转换为 false,除此之外全为 true;
    String: 空字符串为false,其他都为true。(" "这种含有空格的看起来像空字符串然而实际是非空字符串,所有的非空字符串转换为布尔值都是 true)

    a == b 的判断

    == 与 === 的区别在于 JavaScript 会帮我们做类型转换:

    • 若两个值类型相同,则执行严格相等运算;

    • 若两个值的类型不同:
      ①null == undefined;
      ②若一个是数字,一个是字符串,先将字符串转为数字再比较;
      ③若一个值是布尔值(true/false)则将其转为数字(1/0)再比较;
      ④若一个值是对象,一个是数字或字符串,则尝试使用valueOf()和toString()转换后比较;
      ⑤其他则不相等。

    相关文章

      网友评论

        本文标题:if(xx) 和 a==b 的判断

        本文链接:https://www.haomeiwen.com/subject/dwpopftx.html