js基礎篇(三)深入數據類型以及強制類型轉換和字符串

1.數據類型

  • JS中一共分成六種數據類型
    - String 字符串
    - Number 數值
    - Boolean 布爾值
    - Null 空值
    - Undefined 未定義
    - Object 對象

    • 其中基本數據類型有

      - String 字符串

      • JS中的字符串需要使用引號引起來雙引號或單引號都行
        • 在字符串中使用\作爲轉義字符
          ’ ==> ’
          " ==> "
          \n ==> 換行
          \t ==> 製表符
          \ ==> \

        • 使用typeof運算符檢查字符串時,會返回"string"

      - Number 數值

    • JS中所有的整數和浮點數都是Number類型
      - 特殊的數字
      Infinity 正無窮
      -Infinity 負無窮
      NaN 非法數字(Not A Number)
      - 其他進制的數字的表示:
      0b 開頭表示二進制,但是不是所有的瀏覽器都支持
      0 開頭表示八進制
      0x 開頭表示十六進制

        - 使用typeof檢查一個Number類型的數據時,會返回"number"
        	(包括NaN 和 Infinity)
      

      - Boolean 布爾值

    • 布爾值主要用來進行邏輯判斷,布爾值只有兩個
      - true 邏輯的真
      - false 邏輯的假
      - 使用typeof檢查一個布爾值時,會返回"boolean"

      - Null 空值

      • 空值專門用來表示爲空的對象,Null類型的值只有一個
        • null
        • 使用typeof檢查一個Null類型的值時會返回"object"

      - Undefined 未定義

      • 如果聲明一個變量但是沒有爲變量賦值此時變量的值就是undefined
        • 該類型的值只有一個 undefined
        • 使用typeof檢查一個Undefined類型的值時,會返回"undefined"
    • 引用數據類型

      • Object 對象

    - 類型轉換

    • 類型轉換就是指將其他的數據類型,轉換爲String Number 或 Boolean

      • 轉換爲String

        • 方式一(強制類型轉換):

          • 調用被轉換數據的toString()方法
          • 例子:
            var a = 123;
            a = a.toString();
          • 注意:這個方法不適用於null和undefined
            由於這兩個類型的數據中沒有方法,所以調用toString()時會報錯
        • 方式二(強制類型轉換):

          • 調用String()函數
          • 例子:
            var a = 123;
            a = String(a);
          • 原理:對於Number Boolean String都會調用他們的toString()方法來將其轉換爲字符串,
            對於null值,直接轉換爲字符串"null"。對於undefined直接轉換爲字符串"undefined"
        • 方式三(隱式的類型轉換): *****

          • 爲任意的數據類型 +""
          • 例子:
            var a = true;
            a = a + “”;
          • 原理:和String()函數一樣
      • 轉換爲Number

        • 方式一(強制類型轉換):

          • 調用Number()函數
          • 例子:
            var s = “123”;
            s = Number(s);
          • 轉換的情況:
            1.字符串 --> 數字
            - 如果字符串是一個合法的數字,則直接轉換爲對應的數字
            - 如果字符串是一個非法的數字,則轉換爲NaN
            - 如果是一個空串或純空格的字符串,則轉換爲0
            2.布爾值 --> 數字
            - true轉換爲1
            - false轉換爲0
            3.空值 --> 數字
            - null轉換爲0
            4.未定義 --> 數字
            - undefined 轉換爲NaN
        • 方式二(強制類型轉換):

          • 調用parseInt()或parseFloat()

          • 這兩個函數專門用來將一個字符串轉換爲數字的

          • parseInt()

            • 可以將一個字符串中的有效的整數位提取出來,並轉換爲Number
            • 例子:
              var a = “123.456px”;
              a = parseInt(a); //123
            • 如果需要可以在parseInt()中指定一個第二個參數,來指定進制
          • parseFloat()

            • 可以將一個字符串中的有效的小數位提取出來,並轉換爲Number
            • 例子:
              var a = “123.456px”;
              a = parseFloat(a); //123.456
        • 方式三(隱式的類型轉換):

          • 使用一元的+來進行隱式的類型轉換

          • 例子:
            var a = “123”;
            a = +a;

          • 原理:和Number()函數一樣

      • 轉換爲布爾值

        • 方式一(強制類型轉換):

          • 使用Boolean()函數

          • 例子:
            var s = “false”;
            s = Boolean(s); //true

          • 轉換的情況
            字符串 --> 布爾
            - 除了空串其餘全是true

            數值 --> 布爾
            - 除了0和NaN其餘的全是true

            null、undefined —> 布爾
            - 都是false

            對象 —> 布爾
            - 都是true

        • 方式二(隱式類型轉換):

          • 爲任意的數據類型做兩次非運算,即可將其轉換爲布爾值
          • 例子:
            var a = “hello”;
            a = !!a; //true
    • 運算符

      • 運算符也稱爲操作符

      • 通過運算符可以對一個或多個值進行運算或操作

      • typeof運算符

        • 用來檢查一個變量的數據類型
        • 語法:typeof 變量
        • 它會返回一個用於描述類型的字符串作爲結果
      • 算數運算符

        • 對兩個值進行加法運算並返回結果
        • 對兩個值進行減法運算並返回結果
        • 對兩個值進行乘法運算並返回結果
          / 對兩個值進行除法運算並返回結果
          % 對兩個值進行取餘運算並返回結果
        • 除了加法以外,對非Number類型的值進行運算時,都會先轉換爲Number然後在做運算。
        • 而做加法運算時,如果是兩個字符串進行相加,則會做拼串操作,將兩個字符連接爲一個字符串。
        • 任何值和字符串做加法,都會先轉換爲字符串,然後再拼串
      • 一元運算符

        • 一元運算符只需要一個操作數

        • 一元的+

          • 就是正號,不會對值產生任何影響,但是可以將一個非數字轉換爲數字
          • 例子:
            var a = true;
            a = +a;
        • 一元的-

          • 就是負號,可以對一個數字進行符號位取反
          • 例子:
            var a = 10;
            a = -a;
        • 自增

          • 自增可以使變量在原值的基礎上自增1
          • 自增使用 ++
          • 自增可以使用 前++(++a)後++(a++)
          • 無論是++a 還是 a++都會立即使原變量自增1
            不同的是++a和a++的值是不同的,
            ++a的值是變量的新值(自增後的值)
            a++的值是變量的原值(自增前的值)
        • 自減

          • 自減可以使變量在原值的基礎上自減1
          • 自減使用 –
          • 自減可以使用 前–(--a)後–(a–)
          • 無論是–a 還是 a–都會立即使原變量自減1
            不同的是–a和a–的值是不同的,
            –a的值是變量的新值(自減後的值)
            a–的值是變量的原值(自減前的值)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章