在JavaScript中包含六種基本數(shù)據(jù)類型,分別為:1、字符串(String)類型;2、數(shù)字(Number)類型;3、布爾(Boolean)類型;4、空(Null)類型;5、未定義(Undefined)類型;6、Symbol類型。
本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。
JavaScript 中的數(shù)據(jù)類型可以分為兩種類型:基本數(shù)據(jù)類型(值類型)和引用數(shù)據(jù)類型。
其中基本數(shù)據(jù)類型(值類型)有分為六種:字符串(String)、數(shù)字(Number)、布爾(Boolean)、空(Null)、未定義(Undefined)、Symbol。
提示:Symbol 是 ECMAScript6 中引入的一種新的數(shù)據(jù)類型,表示獨一無二的值。
1、String 類型
字符串(String)類型是一段以單引號''或雙引號""包裹起來的文本,例如 '123'、"abc"。需要注意的是,單引號和雙引號是定義字符串的不同方式,并不是字符串的一部分。
定義字符串時,如果字符串中包含引號,可以使用反斜杠來轉(zhuǎn)義字符串中的引號,或者選擇與字符串中不同的引號來定義字符串,如下例所示:
var str = "Let's have a cup of coffee."; // 雙引號中包含單引號 var str = 'He said "Hello" and left.'; // 單引號中包含雙引號 var str = 'We'll never give up.'; // 使用反斜杠轉(zhuǎn)義字符串中的單引號
2、Number 類型
數(shù)值(Number)類型用來定義數(shù)值,JavaScript 中不區(qū)分整數(shù)和小數(shù)(浮點數(shù)),統(tǒng)一使用 Number 類型表示,如下例所示:
var num1 = 123; // 整數(shù) var num2 = 3.14; // 浮點數(shù)
對于一些極大或者極小的數(shù),也可以通過科學(xué)(指數(shù))計數(shù)法來表示,如下例所示:
var y=123e5; // 123 乘以 10 的 5 次方,即 12300000 var z=123e-5; // 123 乘以 10 的 -5 次方,即 0.00123
另外,Number 類型中還有一些比較特殊的值,分別為 Infinity、-Infinity 和 NaN,其中
-
Infinity:用來表示正無窮大的數(shù)值,一般指大于 1.7976931348623157e+308 的數(shù);
-
-Infinity:用來表示負(fù)無窮大的數(shù)值,一般指小于 5e-324 的數(shù);
-
NaN:即非數(shù)值(Not a Number 的縮寫),用來表示無效或未定義的數(shù)學(xué)運(yùn)算結(jié)構(gòu),例如 0 除以 0。
提示:如果某次計算的結(jié)果超出了 JavaScript 中 Number 類型的取值范圍,那么這個數(shù)就會自動轉(zhuǎn)化為無窮大,正數(shù)為 Infinity
,負(fù)數(shù)為 -Infinity
。
3、Boolean 類型
布爾(Boolean)類型只有兩個值,true(真)或者 false(假),在做條件判斷時使用的比較多,您除了可以直接使用 true 或 false 來定義布爾類型的變量外,還可以通過一些表達(dá)式來得到布爾類型的值,例如:
var a = true; // 定義一個布爾值 true var b = false; // 定義一個布爾值 false var c = 2 > 1; // 表達(dá)式 2 > 1 成立,其結(jié)果為“真(true)”,所以 c 的值為布爾類型的 true var d = 2 < 1; // 表達(dá)式 2 < 1 不成立,其結(jié)果為“假(false)”,所以 c 的值為布爾類型的 false
4、Null 類型
Null 是一個只有一個值的特殊數(shù)據(jù)類型,表示一個“空”值,即不存在任何值,什么都沒有,用來定義空對象指針。
使用 typeof 操作符來查看 Null 的類型,會發(fā)現(xiàn) Null 的類型為 Object,說明 Null 其實使用屬于 Object(對象)的一個特殊值。因此通過將變量賦值為 Null 我們可以創(chuàng)建一個空的對象。
5、Undefined 類型
Undefined 也是一個只有一個值的特殊數(shù)據(jù)類型,表示未定義。當(dāng)我們聲明一個變量但未給變量賦值時,這個變量的默認(rèn)值就是 Undefined。例如:
var num; console.log(num); // 輸出 undefined
在使用 typeof 操作符查看未賦值的變量類型時,會發(fā)現(xiàn)它們的類型也是 undefined。對于未聲明的變量,使用 typeof 操作符查看其類型會發(fā)現(xiàn),未聲明的變量也是 undefined,示例代碼如下:
var message; console.log(typeof message); // 輸出 undefined console.log(typeof name); // 輸出 undefined
6、Symbol 類型
Symbol 是 ECMAScript6 中引入的一種新的數(shù)據(jù)類型,表示獨一無二的值,Symbol 類型的值需要使用 Symbol() 函數(shù)來生成,如下例所示:
var str = "123"; var sym1 = Symbol(str); var sym2 = Symbol(str); console.log(sym1); // 輸出 Symbol(123) console.log(sym2); // 輸出 Symbol(123) console.log(sym1 == sym2); // 輸出 false
雖然 sym1 與 sym2 看起來是相同的,但實際上它們并不一樣,根據(jù) Symbol 類型的特點,sym1 和 sym2 都是獨一無二的,因此最終結(jié)果為false
【推薦學(xué)習(xí):javascript高級教程】