你必須瞭解的JavaScript基本資料型別

2021-12-31 19:00:32
本篇文章給大家帶來了關於JavaScript中基本資料型別的相關知識,希望對大家有幫助。

JavaScript是弱型別指令碼語言,宣告變數時無需指定變數的資料型別。JavaScript變數的資料型別是解釋時動態決定的。但是JavaScript的值儲存在記憶體中,也是資料型別的。JavaScript基本資料型別有如下五個

(1)數值型別

(2)布林型別

(3)字串型別

(4)Undefined型別

(5)Null型別

1. 數值型別

與強型別語言如CJava不同,JavaScript的數值型別不僅包括所有的整形變數,也包括所有的浮點型變數。JavaScript語言中的數值都是以IEEE 754雙精度浮點數格式儲存。JavaScript中的數值形勢非常豐富,完全支援用科學計數法表示。科學計數法形如5.12e2代表5.12乘以102次方,5.12E2也代表5.12乘以102次方。

科學計數法中E為間隔符號,E不區分大小寫。

<script type="text/javascript">
	// 顯式宣告變數a , b
	var a , b;
	// 給a , b使用科學記數法賦值,其值應該為500
	a = 5E2;
	b = 1.23e-3;
	// 使用警告提示框輸出變數a的值
	alert(a + "\n" + b);
</script>


注意:數值直接量不要以0開頭。因為JavaScript支援八進位制和十六進位制。八進位制以0開頭,十六進位制以0x或0X開頭。

當數值型別超出了其表述範圍時,將出現兩個特殊值:Infinity(正無窮大)和-Infinity(負無窮大。)

<script type="text/javascript">
	// 定義x為最大的數值
	var x = 1.7976931348623157e308; 
	// 再次增加x的值
	x = x + 1e292;
	// 使用警告框輸出x的值
	alert(x);
</script>


2. 字串型別

JavaScript的子串富川必須用引號括起來,此處的引號既可以是單引號,也可以是雙引號。

 var a = "12345678912aaa";
 var a = '12345678912aaa';

注意:JavaScriptJava中的字串主要有兩點區別:

  • (1)JavaScript中的字串可以用單引號括起來;

  • (2)JavaScript中比較兩個字串的字元序列是否相等使用 == 即可,無需使用equals()方法。

JavaScriptString內建類表示字串,String類裡包含了一系列方法操作字串,String類有如下基本方法和屬性操作字串:

(1)charCodeAt() :返回字串中特定索引處的字元所對應的Unicode值

(2)Legth():返回字串的長度

(3)toUpperCase() : 將stringObj中的小寫字母全部轉成大寫字母

(4)toLowerCase() :將stringObj中的大寫字母全部轉成小寫字母

(5)fromCharCode() :直接通過String類呼叫方法,將一系列Unicode值轉換成字串

(6)indexOf() :返回字串第一次出現的位置

(7)lastIndexOf() :返回字串最後一次出現的位置

(8)subString() :擷取stringObj從start開始,至end為止之前的所有字元,即包括start處的字元,但不包含end處的字元

(9)slice() :擷取stringObj從start開始,到end為止之前的所有字元;即包括start處的字元,但不包括end處的字元。start與end均可為負值,當為負值時,表示從最後一個字元算起的第n個字元,比如-1表示最後一個字元,-2表示倒數第二個字元。

(10)match() :在字串內檢索指定的正規表示式的匹配結果,該結果與regexp是否有指定全域性標誌g有關

(11)split() :將separtor為為分隔,將stringObj分割成一個字串陣列。separator可以是字串或者正規表示式,若為字串,則以separator為分割符;弱separator為正規表示式,則以符合separator指定模式的字串作為分隔符。

(12)replace() :將字串中某個子串以特定字串替代。

<script type="text/javascript">
	// 定義字串變數a
	var a = "abc中國";
	// 獲取a的長度
	var b = a.length;
	// 將系列的Unicode值轉換成字串
	var c = String.fromCharCode(97,98,99);
	// 輸出a的長度,以及字串a在索引4處的字元和
	// 對應的Unicode值,以及c字串變數的值
	alert(b + "---" + a.charAt(4) + "---"
		+ a.charCodeAt(4) + "---" + c);
</script>


下面是一些常用的跳脫字元

跳脫字元

使用說明

0

NUL 字元(\u0000)

1

\b

後退一格(Backspace)退格符(\u0008)

2

\f

換頁(Form Feed)(\u000C)

3

\n

換行(New Line)(\u000A)

4

\r

回車(Carriage Return)( \u000D)

5

\t

製表(Tab)水平製表符(\u0009)

6

\'

單引號(\u0027)

7

\"

雙引號(\u0022)

8

\\

反斜線(Backslash)(\u005C)

9

\v

垂直製表符(\u000B)

10

\xNN

由兩位十六進位制數值NN指定的Latin-1字元

11

\uNNNNN

由四位十六進位制數 NNNN指定的Unicode字元

12

\NNN

由一位到三位八進位制數(1到377)指定的Latin-1字元。

ECMAScript v3不支援,不要使用這種跳脫序列

3. 布林型別

布林型別的值只有兩個:truefalse。布林型別的值通常是邏輯運算的結果,或用於標誌物件的某種狀態。

<script type="text/javascript">
	// 如果瀏覽器支援Cookie
	if (navigator.cookieEnabled) 
	{
		alert("瀏覽器允許使用Cookie");
	}
	// 如果瀏覽器不支援Cookie
	else
	{
		alert("瀏覽器禁用Cookie");
	}
</script>


4. Undefined null

Undefined型別的值只有一個undefined,該值用於表示某個變數不存在,或者沒有為其分配值,也用於表示物件的屬性不存在。null用於表示變數的值為空。Undefinednull之間的差別比較微妙,總體而言,undefined表示沒有為變數設定值或屬性不存在,而null表示變數是有值的,只是為其值為null

但如果不進行精確比較,很多時候undefinednull本身就想等,即null==undefined將返回true。如果要精確區分nullundefined,應該考慮使用精確等於符(===

<script type="text/javascript">
	// 宣告變數x , y
	var x , y = null;
	// 判斷x的值是否為空
	if (x === undefined) 
	{
		alert('宣告變數後預設值為undefined');
	}
	if (x === null)
	{
		alert('宣告變數後預設值為null');
	}
	// 判斷x(其值為undefined)是否與y(其值為null)相等
	if (x == y) 
	{
		alert("x(undefined)==y(null)");
	}
	// 測試一個並不存在的屬性
	if(String.xyz === undefined)
	{
		alert("不存在的屬性值預設為undefined");
	}
</script>

5. 正規表示式

正規表示式的本質是一種特殊的字串,這種特殊字元允許使用「萬用字元」,因此一個正規表示式字串可以匹配一批普通字串。

元字元 名稱 匹配物件

  • . 點號 單個任意字元(除回車\r、換行\n、行分隔符\u2028和段分隔符\u2029外)

  • [] 字元組 列出的單個任意字元

  • [^] 排除型字元組 未列出的單個任意字元

  • ? 問號 匹配0次或1次

  • * 星號 匹配0交或多次

  • + 加號 匹配1次或多次

  • {min,max} 區間量詞 匹配至少min次,最多max次

  • ^ 脫字元 行的起始位置

  • $ 美元符 行的結束位置

  • | 豎線 分隔兩邊的任意一個表示式

  • () 括號 限制多選結構的範圍,標註量詞作用的元素,為反向參照捕獲文字

  • \1,\2... 反向參照 匹配之前的第一、第二...組括號內的表示式匹配的文字

\0        NUL字元\u0000
[\b]      匹配退格符\u0008,不要與\b混淆
\t        製表符\u0009
\n        換行符\u000A
\v        垂直製表符\u000B
\f        換頁符\u000C
\r        回車符\u000D
\xnn      由十六進位制數nn指定的拉丁字元
\uxxxx    由十六進位制數xxxx指定的Unicode字元(\u4e00-\u9fa5代表中文)  
\cX       控制字元^X,表示ctrl-[X],其中的X是A-Z之中任一個英文字母,用來匹配控制字元
{n}       匹配n次
{n,m}     匹配至少n次,最多m次
{n,}      匹配至少n次
?         相當於{0,1}
*         相當於{0,}
+         相當於{1,}

【相關推薦:

以上就是你必須瞭解的JavaScript基本資料型別的詳細內容,更多請關注TW511.COM其它相關文章!