码迷,mamicode.com
首页 > 编程语言 > 详细

关于JavaScript中的相等、全等操作符

时间:2016-03-03 14:37:36      阅读:168      评论:0      收藏:0      [点我收藏+]

标签:

1.相等操作符==,不相等操作符!=,会先转换操作数(通常称为强制转换类型),然后再比较它们的相等性;

  转换规则:根据不同的数据类型,有不同的转换;

  A.如果有一个操作数是布尔值,则在比较相等性之前先将其转换为数值。false转换,true转换为1.

  B.如果一个操作符是字符串,另一个操作数是数值,在比较相等性之前将字符串转换为数值;不能转换成数值的话,就flase;1=="a";//false; ---------1=="1";//true;-------true=="1";//true;---false=="1";//false;--true=="2";//false;

  C.如果一个操作符是对象,另一个操作符不是,则调用对象的valueOf()方法,用得到的基本类型值按照前面的规则比较;(null.valueOf();会报错,null没有属性!------)

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

    (a)、null和undefined是相等的。

    (b)、要比较相等性之前,不能将null和undefined转换成其他任何值。

    (c)、如果有一个操作数是NaN,则相等操作符返回false;不相等返回true.即使两个操作数都是NaN!

    (d)、如果两个操作数都是对象,则比较它们是不是同一个对象,如果都是指向同一个对象,OK相等就是true!否则返回false;

2.全等操作符===,不全等!==。在比较之前不转换操作数! 注意null ===undefined返回false,因为它们是不同的类型. object 与 undefined;

关于JavaScript中的相等、全等操作符

标签:

原文地址:http://www.cnblogs.com/beHeadmaster/p/5238433.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!