JS基本資料型別

2020-07-16 10:05:29
之前在介紹資料型別分類時我們已經了解,資料型別分為基本資料型別和參照資料型別,基本資料型別有分為數位型別、字串型別、布林型別、空型別和未定義型別。本節教學就對 JS 中的這 5 個基本資料型別進行詳細介紹。

JS number數位型別

數位(number)型別在 JavaScript 原始碼中包含兩種書寫格式的數位:整型數位和浮點型數位。整型數位就是只包含整數部分的數位,其又分為十進位制、十六進位制和八進位制三類整數。浮點型數位則包含整數部分、小數點和小數部分的數位。

1) 整型數位

在 JavaScript 程式中,十進位制的整數是一個數位序列。例如:123、69、10000 等數位。JavaScript 的數位格式允許精確地表示 -900719925474092(-253) 和 900719925474092(253) 以及它們之間的所有整數。使用超過這個範圍的整數,就會失去尾數的精度。

JavaScript 不但能夠處理十進位制的整型資料,還能識別十六進位制(以 16 為基數)的資料。所謂十六進位制資料,是以“0X”或“0x”開頭,其後跟隨十六進位制數位串的直接量。十六進位制的數位可以是 0~9 中的某個數位,也可以是 a(A)~f(F) 中的某個字母,它們用來表示 0~15 之間(包括 0 和 15)的某個值。十六進位制可以很容易地轉換為十進位制數,例如:十六進位制數 0xff 對應的十進位制數是 255(15×16+15=255)。

儘管 ECMAScript 標準不支援八進位制資料,但是 JavaScript 的某些實現卻允許採用八進位制(基數為 8)格式的整型資料。八進位制資料以數位 0 開頭,其後跟隨由 0~7(包括 0 和 7)之間的數位組成的一個數位序列。八進位制數可以很容易地轉換為十進位制數,例如,八進位制數是 0377 對應的十進位制數是 255(3×64+7×8+7=255)。

由於某些 JavaScript 實現支援八進位制資料,有些則不支援,所以最好不要使用以 0 開頭的整型資料,因為不知道某個 JavaScript 的實現是將其解釋為十進位制,還是解釋為八進位制。

2) 浮點型數位

浮點型數位採用的是傳統的實數寫法。一個實數值由整數部分後加小數點和小數部分表示。此外,還可以使用科學(也稱指數)計數法表示浮點型數位,即實數後跟隨字母 e 或 E,後面加上正負號(正號可以省略),其後再加一個整型指數。這種記數法表示的數值等於前面的實數乘以 10 的指數次冪。

構成語法:

[digits] [.digits] [(E|e([+]|-)])digits]

中括號括起的內容表示可以省略。

浮點數範例如下:

11-12


在 JavaScript 中,數位型別名為“number”。宣告數位型別的變數及判斷變數型別範例如下:
var a = 17;              //變數型別為十進位制的整型數位
var b = 0x36ae;         //變數型別為十六進位制的整型數位
var c = 6.78;           //變數型別為實數表示法的浮點型數位
var d = 12e5;           //變數型別為科學計數法表示的浮點型數位
alert(typeof c);                //在警告對話方塊中顯示的結果為:number
上述範例最後一行使用了 typeof 來檢測 c 變數的資料型別,從執行結果可看到為 number 型別。把變數名 c 分別替換為 a 和 b 後,同樣可檢測出 a 和 b 的型別也是 number。

數位型別的資料可執行的操作有加、減、乘、除和取模等算術運算,範例如下:
var a = 18, b = 3;           
var c = a + b;          //執行加法運算
var d = a / b;          //執行除法運算
var e = a % b;          //執行取模運算

JS string字串型別

字串(string)型別是由單引號或雙引號括起來的一組由 16 位 Unicode 字元組成的字元序列,用於表示和處理文字。

1) 字串直接量

在 JavaScript 程式中的字串直接量,是由單引號或雙引號括起來的字元序列。由單引號定界的字串中可以含有雙引號,由雙引號定界的字串中也可以含有單引號。

字串直接量範例如下:

'我現在在學習 JavaScript'       //單引號括起來的字串
"我現在在學習 JavaScript"       //雙引號括起來的字串
'我現在在學習 "JavaScript"'     //單引號定界的字串中可以包含雙引號
"我現在在學習 'JavaScript'"     //雙引號定界的字串中可以包含單引號

2) 跳脫字元

在 JavaScript 字串中,反斜槓有著特殊的用途,通過它和一些字元的組合使用,可以在字串中包括一些無法直接鍵入的字元,或改變某個字元的常規解釋。例如:使用雙引號括起來的字串中,如果需要包含雙引號,則需要對作為字串內容的雙引號做非常規解釋,即不能解釋為字串的定界符號,此時通過將雙引號寫成"的形式可滿足需求。

"稱為跳脫字元,該跳脫字元將雙引號解釋為字串中的一個組成部分,而不是作為字串定界符號。又比如n表示的是換行符,實現換行功能。n跳脫字元實現了在字串中包括無法直接鍵入的換行符。JavaScript 常用的跳脫字元見表 1 。

表 1:JavaScript 常用的跳脫字元
跳脫字元 描述 跳脫字元 描述
n 換行符 r 回車符
t 水平製表符 反斜槓符
b 退格符 v 垂直製表符
f 換頁符 ddd 八進位制整數,取值範圍 000~777
' 單引號 xnn 十六進位制整數,取值範圍 00~FF
" 雙引號 uhhhh 由 4 位十六進位制數指定的 Unicode 字元

跳脫字元的使用範例如下:
var msg1 = "這個例子演示了使用"JS跳脫字元"" ;   //程式碼中使用了"雙引號跳脫字元
Var msg2 = '以及"單引號"作字串界定的兩種方法輸出字串中的雙引號。' ;
alert(msg1 + "n" + msg2);   //程式碼中使用了n換行跳脫字元
上述程式碼複製貼上到 Chrome 瀏覽器的控制台中,按“Enter”鍵回車後執行,結果彈出警告對話方塊,如圖 1 所示。
轉義字符的使用
圖 1:跳脫字元的使用