js中的"=="相等操作符和"==="全等操作符

183 阅读1分钟

JavaScript高级程序设计中:

相等操作符:(比较之前会转换操作数)

转换时遵循如下规则:

  1. 如果有一个是布尔值,比较相等之前先将其转换为数值:false转换为0,true转换为1

  2. 一个是字符串,一个是数值,先将字符串转换为数值,再比较;

  3. 如果一个操作数是对象,另一个操作数不是,则调用对象的valueOf()方法,用得到的基本类型值按照前面的规则进行比较(这句话的理解;

  4. null == undefined;//返回true,比较相等之后不能将null和undefined转换成其他任何值;

  5. NaN == NaN; //返回false, 按照规定NaN不等于NaN;

全等操作除了比较之前不进行转换,其他的跟相等操作符相同

对象的valueOf()方法和toString()方法