JavaScript基本資料型別有哪些

ii_chengzi發表於2020-07-17

大家好,今天我們來認識下JavaScript中的資料型別。JavaScript是弱型別語言,開始的時候並不知道變數時什麼型別,必須透過儲存的具體的值才能判斷變數的型別。

JavaScript的資料型別分為基本資料型別和複雜資料型別。其中,基本資料型別: Number(數字),String(字串),Boolean(布林),Undefined(未定義),Null(空);複雜(引用)資料型別: Object(物件), Array(陣列), Function(函式)。我們可以使用typeof運算子檢查變數的型別,語法為typeof(變數)/typeof 變數,typeof返回值: number, string, boolean, undefined, object, function。今天我們來認識下JavaScript中的基本資料型別。

首先,我們來認識下Number型別。number型別就是數字型別,主要用於儲存資料,參與數學運算。number型別包括 整數,小數,正數,負數,各種進位制的數字和特殊數字。我們透過下面的程式碼來認識下number型別:

  1. // 1.1 普通整數和小數 
  2. var  num1  =  10
  3. var  num2  = 2.5; console.log(typeof(num1), typeof num2); 
  4. // 1.2 負值 
  5. var  num3  = -0.2; 
  6. console.log(num3, typeof num3); 
  7. // 1.3 八進位制,以 0 開頭並且沒有超過 8 的值,則為 8 進位制 
  8. var  num4  =  070
  9. console.log(num4, typeof num4); // 56 number 
  10. // 1.4 十六進位制,0x 開頭,則為 16 進位制 
  11. var  num5  =  0x10
  12. console.log(num5, typeof num5); //15 number 

除了上面的number型別,JavaScript中還有一些特殊的數字型別:

1、NaN: not a number,算術運算不能得到正常數字時會返回NaN,NaN不和NaN相等。

2、Infinity: 無窮大。

3、e: 10的次冪 1e9代表1乘以10的9次冪

4、小數相加會有誤差

  1. //1.1 NaN not a number 算術運算不能得到正常數字都會返回 NaN var  num5  = ‘a’ - 5; 
  2. console.log(num5, typeof num5); // NaN number 
  3. // 1.2 無窮大 
  4. var  num6  =  1  / 0; 
  5. console.log(num6, typeof num6); // Infinity number 
  6. // 1.3 小數相加 會有一點偏差  
  7. console.log(0.1+0.2); // 0.30000000000000004 

接下來,我們來認識下String型別,string型別就是字串型別,是用引號引起來的內容,單引號和雙引號都可以, 例如:“web”, ‘web’。字串有一個常用屬性length,用來表示字串的長度,字串中的任意字元都佔字串的一個長度,字串也可以透過charAt(下標)方法來獲取對應下標的字元,需要注意的是,字串中下標是從0開始的,除了charAt()方法外,也可以使用字串加中括號的形式獲取對應下標的字元。

  1. var  str1  = ‘abc’; 
  2. var  str2  = “123”; 
  3. console.log(typeof str1,typeof str2); //string string 
  4. console.log(str1.charAt(0)); // a 
  5. console.log(str1[0]]); // a 

此外,所有我們從 input 表單中獲取的使用者輸入的內容都是字串,哪怕輸入的是數字。例如下面的例子。

  1. < input   type = "text"   id = "oIn" >  
  2. < button   id = "oBut" > 輸出內容 </ button >  
  3.  
  4. oBut.onclick  =  function  () { 
  5.     var  value  =  oIn .value;  
  6.   console.log(typeof value); // string 

接下來,我們來認識下Boolean型別。Boolean: 布林型別, 只有真和假,也就是true/false。

  1. var  bool1  =  true
  2. var  bool2  =  false
  3. console.log(typeof bool1, typeof bool2); // boolean boolean 
  4. console.log(10  >  20); //false 
  5. if(10    >    20){ // if 的小括號裡面,會自動轉換成 boolean 型別 
  6.     alert(true) 
  7. }; 

除了透過比較能得到 Boolean 的值以外,還有一個口訣來判斷條件是否為真:非 0 為真,非空為真”。即 0 為假,其他數字為真,空字串為假,其他為真。

最後,我們來認識下null和undefined。null表示值為空,undefined表示變數沒有初始化(宣告未賦值),值的空缺。null表示空物件,使用typeof運算子得到的“object”。undefined:undefined型別,當宣告變數未賦值時,變數的值就是undefined,型別也是undefined。

  1. var  a  =  null
  2. console.log(a); // null 
  3. console.log(typeof a); // object 
  4.  
  5. // var  b  =  undefined
  6. var b; 
  7. console.log(b); // undefined 
  8. console.log(typeof b); // undefined 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31543790/viewspace-2705187/,如需轉載,請註明出處,否則將追究法律責任。

相關文章