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