- 如果x是數字,y也是數字,那麼同類型就比較值是否相等。
- 比較的時候忽略正負運算符
- 如果都是字符串,則比較長度和同字母對應同位置是否相等相同
- null==undefined
- 如果x是數字,y是字符串或者布爾值,則y轉換成數字再和x對比
- 如果x是數字,y是對象,則y轉換爲x的類型再和x對比
- 其他默認返回false
例子:
var a = {a: 1}
a.toString()
// "[object Object]"
var b = function(){}
b.toString()
"function(){}"
a == "[object Object]"
// true
b == "function(){}"
// true
思考:
數字轉爲字符串使用拼接符:1 + '' => '1'
那麼"null"和“false”怎麼轉換爲布爾類型?