標籤:ber bsp efi amp sci eof 賦值操作符 進位 運算子
6種運算式
原始表達是 初始設定式 函數定義運算式
函數調用運算式 屬性訪問運算式 對象建立運算式
操作符
操作符的優先順序
屬性訪問[] . > 一元操作符 > */ > +- > 比較 > 相等 > && > || > ?:;>,
操作符的結合性
右結合: 一元操作符、三目操作符、賦值
(當兩個一元操作符同時存在的時候 從右向左計算)
左結合:其他的 預設的都是左結合
一元操作符 + - ++ -- !
一元加 + 不會對數值產生任何影響 只隱式調用 Number
var a = -123;console.log(+a)//-123
特別的對對像使用一元加的時候 需要先調用 valueOf 或 toSrring
一元減 - 與一元加類似 調用Number 之後 取相反數
位操作符
~ 按位非 取負值後減一
>> 右移 m>>n 將m轉化成二進位 然後 向右移n位
<< 左移 m<<n 將m轉化成二進位 然後 向左移n位
布爾操作符 && || !
&& 常被用於判斷
|| 常備用於負值 也可以用於判斷
小題
1.
var a = 1;b = a + ++a;c = a ++ + ++ a ;//b=3//c=6
2.
x=a?b:c?d:e?f:g;//x=(a?b:(c?d:(e?f:g))) 右結合
3.
a = -1;b = +a;alert(b);//-1
4.
0 === -0;//true
乘性操作符 * / %
*
infinity*0 -> NaN;
/
infinity/infinity -> NaN;
0/[num] -> NaN
加減操作符
+
infinity+ -infinity -> NaN
+undefined -> NaN
+ null -> 0
-
infinity-infinity -> NaN
-infinity - -infinity -> NaN
關係操作符 > < >= <=
也可以比較字串 非數字 預設比較字串第一位的 Ascii碼
可以轉化成 number 類型的 就轉化成數字進行比較
小題
7>6>5//false 這裡 關係運算子是 左結合的 true>5 -> fase
相等操作符
null == undefined true
NaN != NaN true
undefined == 0 false
null == 0 false
相等操作符 裡面 可能是 內定了 null == undefined 而且 null 和 undefined 在比較的時候 不進行轉換 NaN 不等於任何
賦值操作符 =
右結合 除了 , 之外 優先順序最低
逗號操作符
常用語指派陳述式中 賦值多個
JavaScript(四)操作符