1. 程式人生 > 其它 >JS資料型別區別、轉換與運算

JS資料型別區別、轉換與運算

基本資料型別和引用資料型別的區別:
儲存分棧和堆
變數比較相等與否的時候,比較的是棧中的值
基本資料型別是真值,引用資料型別是指標(路徑)

隱式資料型別轉換
(1)變成數字:數學運算,比較大小
(2)字串拼接+;加號之前或之後是字串
(3)變成布林值:!
其他資料能轉換成0的情況:""," ",false,null,"0"
轉換成布林值為false的情況:0,NaN,"",null,undefined
基本資料型別
1.字串 string
+連結字串的時候,其他資料型別像字串轉換,並進行拼接,高於加法運算
2.數字 number
遇到數學運算子(比較運算子)的時候,其他資料向數字轉換
3.布林 boolean(true false)
!取反的時候,先將資料轉換成布林值,再進行取反
變成布林值為false的5中情況:0,NaN,"",null,undefined


運算
  1.賦值運算
    兩個字串比較大小,比較的是資料的Unicode編碼的編號;
    var n = true,m = "1a";
    console.log(n==m);
      兩個等號,比較值的大小,不在乎資料型別,其他資料向數字轉換
    console.log(n===m);
      三個等號,全等,要求資料型別和值都相等

  2.比較運算
    i++;先賦值,後運算,運算完再賦值
    ++i;先運算,後賦值


  3.邏輯運算子
    &&前一個語句的結果轉換成布林值如果是false的話,不執行後一個語句;如果前一個語句的結果轉換成布林值是true的話,結果是後一個語句的結果。
    ||前一個語句結果轉換成布林值是true的話,後一個語句不執行;如果false的話,結果就是後一個語句的結果。
    !取反(結果是布林值,true||false)