JavaScript中有9種數(shù)據(jù)類型,分別為:字符串(String)、數(shù)字(Number)、布爾(Boolean)、Null、Undefined、Symbol、數(shù)組(Array)、函數(shù)(Function)、對象(Object)。
本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。
數(shù)據(jù)類型指的是可以在程序中存儲和操作的值的類型,每種編程語言都有其支持的數(shù)據(jù)類型,不同的數(shù)據(jù)類型用來存儲不同的數(shù)據(jù),例如文本、數(shù)值、圖像等。
JavaScript 是一種動態(tài)類型的語言,在定義變量時不需要提前指定變量的類型,變量的類型是在程序運行過程中由 JavaScript 引擎動態(tài)決定的,另外,您可以使用同一個變量來存儲不同類型的數(shù)據(jù),例如:
var a; // 此時 a 為 Undefined a = "http://c.biancheng.net/"; // 此時 a 為 String 類型 a = 123; // 此時 a 為 Number 類型
JavaScript 中的數(shù)據(jù)類型可以分為兩種類型:
-
基本數(shù)據(jù)類型(值類型):字符串(String)、數(shù)字(Number)、布爾(Boolean)、空(Null)、未定義(Undefined)、Symbol;
-
引用數(shù)據(jù)類型:對象(Object)、數(shù)組(Array)、函數(shù)(Function)。
提示:Symbol 是 ECMAScript6 中引入的一種新的數(shù)據(jù)類型,表示獨一無二的值。
1) String 類型
字符串(String)類型是一段以單引號''或雙引號""包裹起來的文本,例如 '123'、"abc"。需要注意的是,單引號和雙引號是定義字符串的不同方式,并不是字符串的一部分。
2) Number 類型
數(shù)值(Number)類型用來定義數(shù)值,JavaScript 中不區(qū)分整數(shù)和小數(shù)(浮點數(shù)),統(tǒng)一使用 Number 類型表示
注意:Number 類型所能定義的數(shù)值并不是無限的,JavaScript 中的 Number 類型只能表示 -(2∧53 – 1) 到 (2∧53 -1) 之間的數(shù)值。
3) Boolean 類型
布爾(Boolean)類型只有兩個值,true(真)或者 false(假),在做條件判斷時使用的比較多,您除了可以直接使用 true 或 false 來定義布爾類型的變量外,還可以通過一些表達式來得到布爾類型的值
4) Null 類型
Null 是一個只有一個值的特殊數(shù)據(jù)類型,表示一個“空”值,即不存在任何值,什么都沒有,用來定義空對象指針。
使用 typeof 操作符來查看 Null 的類型,會發(fā)現(xiàn) Null 的類型為 Object,說明 Null 其實使用屬于 Object(對象)的一個特殊值。因此通過將變量賦值為 Null 我們可以創(chuàng)建一個空的對象。
5) Undefined 類型
Undefined 也是一個只有一個值的特殊數(shù)據(jù)類型,表示未定義。當我們聲明一個變量但未給變量賦值時,這個變量的默認值就是 Undefined。
6) Symbol 類型
Symbol 是 ECMAScript6 中引入的一種新的數(shù)據(jù)類型,表示獨一無二的值,Symbol 類型的值需要使用 Symbol() 函數(shù)來生成
7) Array 類型
數(shù)組(Array)是一組按順序排列的數(shù)據(jù)的集合,數(shù)組中的每個值都稱為元素,而且數(shù)組中可以包含任意類型的數(shù)據(jù)。在 JavaScript 中定義數(shù)組需要使用方括號[ ]
,數(shù)組中的每個元素使用逗號進行分隔,例如:
[1, 2, 3, 'hello', true, null]
另外,也可以使用 Array() 函數(shù)來創(chuàng)建數(shù)組,如下例所示:
var arr = new Array(1, 2, 3, 4); console.log(arr); // 輸出 [1, 2, 3, 4]
8) Function 類型
函數(shù)(Function)是一段具有特定功能的代碼塊,函數(shù)并不會自動運行,需要通過函數(shù)名調(diào)用才能運行,如下例所示:
function sayHello(name){ return "Hello, " + name; } var res = sayHello("Peter"); console.log(res); // 輸出 Hello, Peter
此外,函數(shù)還可以存儲在變量、對象、數(shù)組中,而且函數(shù)還可以作為參數(shù)傳遞給其它函數(shù),或則從其它函數(shù)返回。
9) Object 類型
JavaScript 中的對象(Object)類型是一組由鍵、值組成的無序集合,定義對象類型需要使用花括號{ },語法格式如下:
{name1: value1, name2: value2, name3: value3, ..., nameN: valueN}
其中 name1、name2、name3、…、nameN 為對象中的鍵,value1、value2、value3、…、valueN 為對應(yīng)的值。
在 JavaScript 中,對象類型的鍵都是字符串類型的,值則可以是任意數(shù)據(jù)類型。要獲取對象中的某個值,可以使用對象名.鍵
的形式。
【推薦學(xué)習(xí):javascript高級教程】