在比较相等或不相等之前,会对操作数进行类型转换,然后比较相等性

在转换不同的数据类型时,相等和不相等操作符遵循下列基本规则:

1.如果由一个操作数是布尔值,则在比较相等性之前先将其转换为数值;
2.如果一个操作数是字符串,另一个操作数是数值,在比较相等性之前先将字符串转换为数值;
3.如果一个操作数是对象,另一个操作数不是,则调用对象的valueOf()方法,用得到的基本类型值按照前面的规则进行比较;

这两个操作符在进行比较时则要遵循下列规则:

1.null和undefined是相等的。
2.要比较相等性之前,不能将null和undefined转换成其他任何值。
3.NaN不与任何值相等
4.如果两个操作数都是对象,则比较他们是不是同一个对象。如果两个操作数都是指向同一个对象,则相等放回true,否则返回false。

console.log(null == undefined); //true
console.log(null == null); //true
console.log(undefined == undefined); //true
console.log(null == 0); //false,相等运算符
console.log(null >= 0); //true,关系运算符

关系运算符,在设计上总是尝试将运算元进行类型转换,而相等运算符在设计上,则没有这方面的考虑

最新文章

  1. 关于IoCallDriver使用的疑惑
  2. 错误 1 error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
  3. hdu 1249 三角形
  4. day4----json的简单实用
  5. 【CocoaPods】配置CocoaPods前 - 本地安装好Ruby环境
  6. poj 2065 SETI 高斯消元
  7. 给大家介绍款在线压缩JS的工具
  8. VC图形绘制双缓存的代码复用性讨论
  9. jstl-初步认知
  10. MySQL 单个表锁死 对查询语句无响应
  11. <Consistency><of HBase><CAP><ACID>
  12. 【状压DP】【HDOJ1074】
  13. 【AMQ】之JMS概念
  14. cv2.SIFT() AttributeError: 'module' object has no attribute 'SIFT' OpenCV Python can't use SURF, SIFT
  15. android开发学习——day6
  16. 百度2015校园招聘面试题回忆录(成功拿到offer)
  17. ios开发之--搜索框的使用(PYSearchViewController的使用)
  18. 安装ORACLE_RAC遇到的问题与解决方法
  19. MySql5.5安装(windows)
  20. 转载-java基础学习汇总

热门文章

  1. apache 安装配置 (centos)
  2. 分布式系统架构常识:CAP理论。
  3. 动画FPS计算
  4. 多线性方程组迭代算法——Gauss-Seidel迭代算法的Python实现
  5. SSL连接出现的问题
  6. go读写文本文件
  7. css 图片有间隔多个Img标签之间的间隙
  8. python打包生成exe文件
  9. gulp构建前端,压缩css,js文件,实现浏览器自动刷新
  10. elasticsearch api约定