您好,登錄后才能下訂單哦!
這篇文章將為大家詳細(xì)講解有關(guān)JScript數(shù)據(jù)類型有哪些,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
Jscript 有三種主要數(shù)據(jù)類型、兩種復(fù)合數(shù)據(jù)類型和兩種特殊數(shù)據(jù)類型。
主要(基本)數(shù)據(jù)類型是:
字符串
數(shù)值
布爾
復(fù)合(引用)數(shù)據(jù)類型是:
對(duì)象
數(shù)組
特殊數(shù)據(jù)類型是:
Null
Undefined
字符串?dāng)?shù)據(jù)類型
一個(gè)字符串值是排在一起的一串零或零以上的 Unicode
字符(字母、數(shù)字和標(biāo)點(diǎn)符號(hào))。字符串?dāng)?shù)據(jù)類型用來表示 Jscript
中的文本。腳本中可以包含字符串文字,這些字符串文字放在一對(duì)匹配的的單引號(hào)或雙引號(hào)中。字符串中可以包含雙引號(hào),該雙引號(hào)兩邊需加單引號(hào),也可以包含單引號(hào),該單引號(hào)兩邊需加雙引號(hào)。下面是字符串的示例:
"Happy am I; from care I’m free!"
"Avast, ye lubbers!" roared the
technician.
"42"
c
請(qǐng)注意,Jscript 中沒有表示單個(gè)字符的類型。要表示 Jscript
中的單個(gè)字符,應(yīng)創(chuàng)建一個(gè)只包含一個(gè)字符的字符串。包含零個(gè)字符("")的字符串是空(零長(zhǎng)度)字符串。
數(shù)值數(shù)據(jù)類型
在 Jscript 中整數(shù)和浮點(diǎn)值沒有差別;Jscript 數(shù)值可以是其中任意一種(Jscript
內(nèi)部將所有的數(shù)值表示為浮點(diǎn)值)。
整型值
整型值可以是正整數(shù),負(fù)整數(shù)和 0。可以用 10 進(jìn)制,8 進(jìn)制和 16 進(jìn)制來表示。在 Jscript
中大多數(shù)字是用十進(jìn)制表示的。加前綴“0”表示 8 進(jìn)制的整型值,只能包含 0 到 7
的數(shù)字。前綴為“0”同時(shí)包含數(shù)字“8”或“9”的數(shù)被解釋為十進(jìn)制數(shù)。
加前綴“0x”(零和x|X)表示 16 進(jìn)制整型值。可以包含數(shù)字 0 到 9,以及字母 A 到 F(大寫或小寫)。使用字母 A 到 F 表示十進(jìn)制 10 到 15 的單個(gè)數(shù)字。就是說 0xF 與 15 相等,同時(shí) 0x10 等于 16。
八進(jìn)制和十六進(jìn)制數(shù)可以為負(fù),但不能有小數(shù)位,同時(shí)不能以科學(xué)計(jì)數(shù)法(指數(shù))表示。
浮點(diǎn)值
浮點(diǎn)值為帶小數(shù)部分的數(shù)。也可以用科學(xué)計(jì)數(shù)法來表示。這就是說,大寫或小寫“e”用來表示 10 的次方。Jscript用數(shù)值表示的八字節(jié)
IEEE754 浮點(diǎn)標(biāo)準(zhǔn)。這意味著數(shù)字最大可以到 ±1.7976931348623157x10308,最小到
±5x10-324。以“0”開始且包含小數(shù)點(diǎn)的數(shù)字被解釋為小數(shù)浮點(diǎn)數(shù)。
注意以“0x”或“00”開始并包含小數(shù)點(diǎn)的數(shù)將發(fā)生錯(cuò)誤。以下是 Jscript 中數(shù)字的例子。
數(shù)字 描述 等價(jià)十進(jìn)制數(shù)
.0001, 0.0001, 1e-4, 1.0e-4 四個(gè)相等的浮點(diǎn)數(shù)。 0.0001
3.45e2 浮點(diǎn)數(shù)。 345
42 整數(shù)。 42
0378 整數(shù)。雖然看起來是八進(jìn)制數(shù)(以 0 開頭),但是 8
不是有效的八進(jìn)制數(shù)字,所以為十進(jìn)制數(shù)。 378
0377 八進(jìn)制整數(shù)。注意它雖然看起來比上面的數(shù)只小 1,但實(shí)際數(shù)值有很大不同。 255
0.0001 浮點(diǎn)數(shù)。雖然以零開頭,但由于帶有小數(shù)點(diǎn)所以不是八進(jìn)制數(shù)。 0.0001
00.0001
錯(cuò)誤。兩個(gè)零開頭表示為八進(jìn)制,但八進(jìn)制數(shù)不能帶有小數(shù)部分。 N/A (編譯錯(cuò)誤)
0Xff 十六進(jìn)制整數(shù)。 255
0x37CF
十六進(jìn)制整數(shù)。 14287
0x3e7 十六進(jìn)制整數(shù)。注意‘e’并不被認(rèn)為指數(shù)。 999
0x3.45e2
錯(cuò)誤。十六進(jìn)制數(shù)不能有小數(shù)部分。 N/A (編譯錯(cuò)誤)
另外,Jscript 包含特殊值數(shù)字。它們是:
NaN (不是數(shù))。當(dāng)對(duì)不適當(dāng)?shù)臄?shù)據(jù)進(jìn)行數(shù)學(xué)運(yùn)算時(shí)使用,例如字符串或未定義值。
正無窮大。在 Jscript
中如果一個(gè)正數(shù)太大的話使用它來表示。
負(fù)無窮大。在 Jscript 中如果一個(gè)負(fù)數(shù)太大的話使用它來表示。
正 0 和負(fù)
0。Jscript 區(qū)分正 0 和負(fù) 0。
Boolean 數(shù)據(jù)類型
盡管字符串和數(shù)字類型可以有無數(shù)不同的值,Boolean
數(shù)據(jù)類型卻只有兩個(gè)值。它們是文字 true 和 false。Boolean 值是一個(gè)真值,它表示一個(gè)狀態(tài)的有效性(說明該狀態(tài)為真或假)。
腳本中的比較通常得到一個(gè) Boolean 結(jié)果。考慮下一行 Jscript 代碼。
y = (x == 2000);
這里要比較變量 x 的值是否與數(shù)字 2000 相等。如果相等,比較的結(jié)果為 Boolean 值
true,并將其賦給變量 y。如果 x 與 2000 不等,則比較的結(jié)果為 Boolean 值false。
Boolean 值在結(jié)構(gòu)控制中尤其有用??梢詫⒅苯觿?chuàng)建 Boolean 值的比較與用使用該 Boolean 值的語句相組合??紤]下面的 Jscript 代碼范例。
if (x == 2000)
z = z + 1;
else
x = x + 1;
當(dāng) Boolean
值為 true 時(shí),Jscript 中的 if/else 語句執(zhí)行一個(gè)操作(這樣,z = z + 1),而當(dāng) Boolean 值為 false
時(shí)執(zhí)行另一個(gè)操作(x = x + 1)。
可以使用任意表達(dá)式作比較表達(dá)式。任何值為 0、null、未定義或空字符串的表達(dá)式被解釋為 false。其他任意值的表達(dá)式解釋為 true。例如,可以使用如下表達(dá)式:
if (x = y + z) // 這可能不是想要的結(jié)果 ? 如下!
注意上面的代碼并不檢查 x 是否與 y+z
相等,因?yàn)閮H使用了一個(gè)等號(hào)(賦值)。相反的,上面的代碼將 y+z 賦給變量 x,然后檢查整個(gè)表達(dá)式的值是否為零。要檢查 x 是否與 y+z
相等,使用如下代碼。
if (x == y + z) // 這與上面的代碼不同!
有關(guān)比較的詳細(xì)信息,請(qǐng)參見控制程序的流程。
Null 數(shù)據(jù)類型
在 Jscript 中數(shù)據(jù)類型 null 只有一個(gè)值:null。關(guān)鍵字 null 不能用作函數(shù)或變量的名稱。
包含 null 的變量包含“無值”或“無對(duì)象”。換句話說,該變量沒有保存有效的數(shù)、字符串、Boolean、數(shù)組或?qū)ο?。可以通過給一個(gè)變量賦 null 值來清除變量的內(nèi)容。
請(qǐng)注意,在 Jscript 中,null 與 0 不相等(與在 C 和 C++ 中不同)。同時(shí)應(yīng)該指出的是,Jscript中 typeof 運(yùn)算符將報(bào)告 null 值為 Object 類型,而非類型 null。這點(diǎn)潛在的混淆是為了向下兼容。
Undefined 數(shù)據(jù)類型
如下情況使返回 undefined 值:
對(duì)象屬性不存在,
聲明了變量但從未賦值。
注意不能通過與 undefined
做比較來測(cè)試一個(gè)變量是否存在,雖然可以檢查它的類型是否為“undefined”。在以下的代碼范例中,假設(shè)程序員想測(cè)試是否已經(jīng)聲明變量 x :
// 這種方法不起作用
if (x == undefined)
// 作某些操作
// 這個(gè)方法同樣不起作用- 必須檢查
// 字符串 "undefined"
if (typeof(x) ==
undefined)
// 作某些操作
// 這個(gè)方法有效
if (typeof(x) == "undefined")
// 作某些操作
考慮將
undefined 值與null做比較。
someObject.prop == null;
如下情況時(shí),比較的結(jié)果為 true,
如果屬性 someObject.prop 包含 null 值,
如果屬性 someObject.prop 不存在。
要檢查一個(gè)對(duì)象屬性是否存在,可以使用新的 in 運(yùn)算符:
if ("prop" in someObject)
// someObject 有屬性 prop
關(guān)于“JScript數(shù)據(jù)類型有哪些”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。