JS操做符

==

1.string,number,boolean 转成number比较测试

  1. 引用类型与基本类型比较
首先会调用对象的valueOf()方法,期待返回一个基本类型的值(测试为若返回Boolean、Number、String、null、undefined或没有返回值,则将不会继续调用toString方法),若返回的仍然是一个复合对象的话,则调用其toString()方法,若仍然没有返回上述基本类型的话,则直接判为不相等。

>,<

1.有一个为number => number
2.有一个操做数是布尔值 => numberspa

  1. 有引用类型
调用该对象的valueOf方法,用返回的结果用前面的规则比较,若没有valueOf方法,则调用toString方法

valueOf, toString

1.对象=>Sting, 优先调用toString
2.对象=>number,优先调用valueOf
valueOf优先级>toString对象

clipboard.png

相关文章
相关标签/搜索