1. 程式人生 > >JavaScript(四)操作符

JavaScript(四)操作符

都是 null amp 關系 value num ascii碼 inf java

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(四)操作符