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

一、if(xx)

如果括号内是布尔类型,直接判断。否则括号里的表达式会被强制转换成布尔类型,转换规则如下:
1.undefined转换为false
2.null转换为false
3.number:+0,-0,NaN会被转换为false,其他会被转换为true
4.string:空字符串为false,其他为true
5.object:转换为true

二、a==b

1.undefined=null
2.a和b中有数字类型或者布尔类型,都转换为数字进行判断比较
3.如果一个为对象,一个为字符串或者数字,把对象转换为数字进行比较判断

附:转换规律
1.undefined转换为NaN
2.null转换为0
3.布尔类型:true转换为1,false转换为0
4.字符串:非数字字符串转为NaN,数字字符串转为数字值
5.对于object对象,先调用.valueOf,没有再调用。toString

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • if(xx) 对于if(xx),是把xx转换成boolean在进行判断各类型转换布尔结果: a==b 对于a==b...
    海山城阅读 462评论 0 0
  • 1、标识符 标识符是指变量、函数、属性的名字,或函数的参数。 格式规则: 第一个字符必须是一个字母、下划线(_)或...
    霜天晓阅读 717评论 0 0
  • 标签: 我的笔记 ---学习资料:http://javascript.ruanyifeng.com/ 1. 导论 ...
    暗夜的怒吼阅读 852评论 0 1
  • 人物来自《致我们单纯的小美好》。在忘记复习的周末无意间在微博上刷到一个mv《致好》,视频很甜,情节是我们高中时候也...
    Brandy0507阅读 865评论 0 0
  • 雾霾 沙特阿拉伯你眼睛 火焰山我手心 麻辣清汤鸳鸯锅
    萧陌阅读 206评论 0 1