學(xué)習(xí)javascript(4)
來源:易賢網(wǎng) 閱讀:803 次 日期:2014-09-09 11:31:06
溫馨提示:易賢網(wǎng)小編為您整理了“學(xué)習(xí)javascript(4)”,方便廣大網(wǎng)友查閱!

JScript 的數(shù)據(jù)類型

Jscript 有三種主要數(shù)據(jù)類型、兩種復(fù)合數(shù)據(jù)類型和兩種特殊數(shù)據(jù)類型。

主要(基本)數(shù)據(jù)類型是:

字符串

數(shù)值

布爾

復(fù)合(引用)數(shù)據(jù)類型是:

對象

數(shù)組

特殊數(shù)據(jù)類型是:

Null

Undefined

字符串?dāng)?shù)據(jù)類型

一個字符串值是排在一起的一串零或零以上的 Unicode 字符(字母、數(shù)字和標(biāo)點符號)。字符串?dāng)?shù)據(jù)類型用來表示 JScript 中的文本。腳本中可以包含字符串文字,這些字符串文字放在一對匹配的的單引號或雙引號中。字符串中可以包含雙引號,該雙引號兩邊需加單引號,也可以包含單引號,該單引號兩邊需加雙引號。下面是字符串的示例:

"Happy am I; from care I’m free!"

'"Avast, ye lubbers!" roared the technician.'

"42"

'c'

請注意,JScript 中沒有表示單個字符的類型(如 C++ 的 char)。要表示 Jscript 中的單個字符,應(yīng)創(chuàng)建一個只包含一個字符的字符串。包含零個字符("")的字符串是空(零長度)字符串。

數(shù)值數(shù)據(jù)類型

在 Jscript 中整數(shù)和浮點值沒有差別;JScript 數(shù)值可以是其中任意一種(JScript 內(nèi)部將所有的數(shù)值表示為浮點值)。

整型值

整型值可以是正整數(shù),負(fù)整數(shù)和 0??梢杂?10 進制,8 進制和 16 進制來表示。在 Jscript 中大多數(shù)字是用十進制表示的。加前綴“0”表示 8 進制的整型值,只能包含 0 到 7 的數(shù)字。前綴為“0”同時包含數(shù)字“8”或“9”的數(shù)被解釋為十進制數(shù)。

加前綴“0x”(零和x|X)表示 16 進制整型值??梢园瑪?shù)字 0 到 9,以及字母 A 到 F(大寫或小寫)。使用字母 A 到 F 表示十進制 10 到 15 的單個數(shù)字。就是說 0xF 與 15 相等,同時 0x10 等于 16。

八進制和十六進制數(shù)可以為負(fù),但不能有小數(shù)位,同時不能以科學(xué)計數(shù)法(指數(shù))表示。

浮點值

浮點值為帶小數(shù)部分的數(shù)。也可以用科學(xué)計數(shù)法來表示。這就是說,大寫或小寫“e”用來表示 10 的次方。Jscript用數(shù)值表示的八字節(jié) IEEE754 浮點標(biāo)準(zhǔn)。這意味著數(shù)字最大可以到±1.7976931348623157x10308,最小到±5x10-324。以“0”開始且包含小數(shù)點的數(shù)字被解釋為小數(shù)浮點數(shù)。

注意以“0x”或“00”開始并包含小數(shù)點的數(shù)將發(fā)生錯誤。以下是 Jscript 中數(shù)字的例子。

數(shù)字 描述 等價十進制數(shù)

.0001, 0.0001, 1e-4, 1.0e-4 四個相等的浮點數(shù)。 0.0001

3.45e2 浮點數(shù)。 345

42 整數(shù)。 42

0378 整數(shù)。雖然看起來是八進制數(shù)(以0開頭),但是8不是有效的八進制數(shù)字,所以為十進制數(shù)。 378

0377 八進制整數(shù)。注意它雖然看起來比上面的數(shù)只小1,但實際數(shù)值有很大不同。 255

0.0001 浮點數(shù)。雖然以零開頭,但由于帶有小數(shù)點所以不是八進制數(shù)。 0.0001

00.0001 錯誤。兩個零開頭表示為八進制,但八進制數(shù)不能帶有小數(shù)部分。 N/A (編譯錯誤)

0Xff 十六進制整數(shù)。 255

0x37CF 十六進制整數(shù)。 14287

0x3e7 十六進制整數(shù)。注意‘e’并不被認(rèn)為指數(shù)。 999

0x3.45e2 錯誤。十六進制數(shù)不能有小數(shù)部分。 N/A (編譯錯誤)

另外,JScript包含特殊值數(shù)字。它們是:

NaN (不是數(shù))。當(dāng)對不適當(dāng)?shù)臄?shù)據(jù)進行數(shù)學(xué)運算時使用,例如字符串或未定義值。

正無窮大。在JScript中如果一個正數(shù)太大的話使用它來表示。

負(fù)無窮大。在JScript中如果一個負(fù)數(shù)太大的話使用它來表示。

正0和負(fù)0。Jscript區(qū)分正0和負(fù)0。

Boolean數(shù)據(jù)類型

盡管字符串和數(shù)字類型可以有無數(shù)不同的值,boolean 數(shù)據(jù)類型卻只有兩個值。它們是文字 true 和 false。Boolean值是一個真值,它表示一個狀態(tài)的有效性(說明該狀態(tài)為真或假)。

腳本中的比較通常得到一個 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 時,Jscript 中的 if/else 語句執(zhí)行一個操作(這樣,z = z + 1),而當(dāng) boolean 值為 false 時執(zhí)行另一個操作(x = x + 1)。

可以使用任意表達式作比較表達式。任何值為0、null、未定義或空字符串的表達式被解釋為 false。其他任意值的表達式解釋為 true。例如,可以使用如下表達式:

if (x = y + z) // 這可能不是想要的結(jié)果 – 如下!

注意上面的代碼并不檢查 x 是否與 y+z 相等,因為僅使用了一個等號(賦值)。相反的,上面的代碼將 y+z 賦給變量 x,然后檢查整個表達式的值是否為零。要檢查 x 是否與 y+z 相等,使用如下代碼。

if (x == y + z) // 這與上面的代碼不同!

有關(guān)比較的詳細信息,請參見控制程序的流程。

Null 數(shù)據(jù)類型

在 Jscript 中數(shù)據(jù)類型 null 只有一個值:null。關(guān)鍵字 null 不能用作函數(shù)或變量的名稱。

包含 null 的變量包含“無值”或“無對象”。換句話說,該變量沒有保存有效的數(shù)、字符串、boolean、數(shù)組或?qū)ο???梢酝ㄟ^給一個變量賦 null 值來清除變量的內(nèi)容。

請注意,在 Jscript 中,null 與 0 不相等(與在 C 和 C++ 中不同)。同時應(yīng)該指出的是,Jscript中 typeof 運算符將報告 null 值為 Object 類型,而非類型 null。這點潛在的混淆是為了向下兼容。

Undefined 數(shù)據(jù)類型

如下情況使返回 undefined 值:

對象屬性不存在,

聲明了變量但從未賦值。

注意不能通過與 undefined 做比較來測試一個變量是否存在,雖然可以檢查它的類型是否為“undefined”。在以下的代碼范例中,假設(shè)程序員想測試是否已經(jīng)聲明變量 x :

// 這種方法不起作用

if (x == undefined)

// 作某些操作

// 這個方法同樣不起作用- 必須檢查

// 字符串 "undefined"

if (typeof(x) == undefined)

// 作某些操作

// 這個方法有效

if (typeof(x) == "undefined")

// 作某些操作

考慮將 undefined 值與null做比較。

someObject.prop == null;

如下情況時,比較的結(jié)果為 true,

如果屬性 someObject.prop 包含 null 值,

如果屬性 someObject.prop 不存在。

要檢查一個對象屬性是否存在,可以使用新的 in 運算符:

if ("prop" in someObject)

// someObject 有屬性 'prop'

更多信息請查看IT技術(shù)專欄

更多信息請查看腳本欄目
易賢網(wǎng)手機網(wǎng)站地址:學(xué)習(xí)javascript(4)
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

2025國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 加入群交流 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
咨詢QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報警專用圖標(biāo)