這裡記錄一些從阮一峰的JavaScript參考教程和 JavaScript: The Good Part 中得到的知識,做記憶補強和方便回憶之用。

+

規則全文照抄

如果运算子是对象,先自动转成原始类型的值(即先执行该对象的valueOf方法,如果结果还不是原始类型的值,再执行toString方法;如果对象是Date实例,则先执行toString方法)。

两个运算子都是原始类型的值以后,只要有一个运算子是字符串,则两个运算子都转为字符串,执行字符串连接运算。

否则,两个运算子都转为数值,执行加法运算。

%

注意,運算結果的正負號取決於第一個運算子的正負號。

數值運算符

將所有值轉為Number(與Number()作用相同),返回新的值,不改變原值。

+true // 1
+[]   // 0
+{}   // NaN

-true // -1
-[]   // -0

===

原始類型直接比較值,下列兩個要特別注意

NaN === NaN // false
+0 === -0   // true

同類型的複合類型值,會比較是否指向同一對象,注意,不是比較內部的值

var v1 = {}; 
var v2 = v1; 
v1 === v2 // true

位元運算

少用故跳過XD

注意!三元運算符優先順序是由右而左~

results matching ""

    No results matching ""