目的:用於測試兩值之間的關係(“相等”“小於”“是……的屬性”)
關係返回boolen
用途:用於流程及控制
相等和不相等的運算符
“==”和“===”用於比較兩個值是否相等,當然對他們相等的定義不相同,兩運算符允許任意類型操作數
“===”嚴格相等運算符 首先計算出操作數的值,然後比較兩值
- 如兩值類型不同,不等
- 如兩值爲null或undefined,不等
- 如兩值都是boolen,相等
- 如兩值其一爲NaN或兩值都爲NaN 不等
- 如兩值數字,數值相等,相等
- 0 -0相等
- 兩值爲字符串,對應位上16位數相等,相等(字符串由16位的不可變有序序列構成)
- 如果引用值指向同一對象,數組/函數,相等
NaN和任何值都不等,包括他本身
x!==x//嚴格不等,判斷x是否爲NaN.只有x爲NaN是表達式爲true
unicoide萬國碼,業界標準,包括字符集,編碼方式等,解決傳統字符的侷限性
“==”相等運算符
- 如果嚴格相等,比較結果相等
- 類型不同
- null undefined相等
如果一個值爲number,一個值爲對象
則先object–value比較
object 通過toString()或valueOf()
其中內置類首先嚐試valueOf()在用toString()
除日期類外,日期類使用toString()
- null undefined相等
- 其他類型不同則不等 -