JScript 資料類型

來源:互聯網
上載者:User
js|jscript|資料|資料類型

  Jscript 有三種主要資料類型、兩種複合資料型別和兩種特殊資料類型。

  主要(基本)資料類型是:

  字串
  數值
  布爾
  複合(引用)資料類型是:

  對象
  數組
  特殊資料類型是:

  Null
  Undefined
  字串資料型別
  一個字串值是排在一起的一串零或零以上的 Unicode 字元(字母、數字和標點符號)。字串資料型別用來表示 JScript 中的文本。指令碼中可以包含字串文字,這些字串文字放在一對匹配的的單引號或雙引號中。字串中可以包含雙引號,該雙引號兩邊需加單引號,也可以包含單引號,該單引號兩邊需加雙引號。下面是字串的樣本:

  "Happy am I; from care I’m free!"
  "Avast, ye lubbers!" roared the technician.
  "42"
  c
  請注意,JScript 中沒有表示單個字元的類型。要表示 Jscript 中的單個字元,應建立一個只包含一個字元的字串。包含零個字元("")的字串是空(零長度)字串。

  數值資料類型
  在 Jscript 中整數和浮點值沒有差別;JScript 數值可以是其中任意一種(JScript 內部將所有的數值表示為浮點值)。

  整型值
  整型值可以是正整數,負整數和 0。可以用 10 進位,8 進位和 16 進位來表示。在 Jscript 中大多數字是用十進位表示的。加首碼“0”表示 8 進位的整型值,只能包含 0 到 7 的數字。首碼為“0”同時包含數字“8”或“9”的數被解釋為十進位數。

  加首碼“0x”(零和x|X)表示 16 進位整型值。可以包含數字 0 到 9,以及字母 A 到 F(大寫或小寫)。使用字母 A 到 F 表示十進位 10 到 15 的單個數字。就是說 0xF 與 15 相等,同時 0x10 等於 16。

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

  浮點值
  浮點值為帶小數部分的數。也可以用科學計數法來表示。這就是說,大寫或小寫“e”用來表示 10 的次方。Jscript用數值表示的八位元組 IEEE754 浮點標準。這意味著數字最大可以到 ±1.7976931348623157x10308,最小到 ±5x10-324。以“0”開始且包含小數點的數字被解釋為小數浮點數。

  注意以“0x”或“00”開始並包含小數點的數將發生錯誤。以下是 Jscript 中數位例子。

  數字 描述 等價十進位數
  .0001, 0.0001, 1e-4, 1.0e-4 四個相等的浮點數。 0.0001
  3.45e2 浮點數。 345
  42 整數。 42
  0378 整數。雖然看起來是八位元(以 0 開頭),但是 8 不是有效八位元字,所以為十進位數。 378
  0377 八進位整數。注意它雖然看起來比上面的數只小 1,但實際數值有很大不同。 255
  0.0001 浮點數。雖然以零開頭,但由於帶有小數點所以不是八位元。 0.0001
  00.0001 錯誤。兩個零開頭表示為八進位,但八位元不能帶有小數部分。 N/A (編譯錯誤)
  0Xff 十六進位整數。 255
  0x37CF 十六進位整數。 14287
  0x3e7 十六進位整數。注意‘e’並不被認為指數。 999
  0x3.45e2 錯誤。十六進位數不能有小數部分。 N/A (編譯錯誤)

  另外,Jscript 包含特殊值數字。它們是:

  NaN (不是數)。當對不適當的資料進行數學運算時使用,例如字串或未定義值。
  正無窮大。在 Jscript 中如果一個正數太大的話使用它來表示。
  負無窮大。在 Jscript 中如果一個負數太大的話使用它來表示。
  正 0 和負 0。Jscript 區分正 0 和負 0。
  Boolean 資料類型
  儘管字串和數字類型可以有無數不同的值,Boolean 資料類型卻只有兩個值。它們是文字 true 和 false。Boolean 值是一個真值,它表示一個狀態的有效性(說明該狀態為真或假)。

  指令碼中的比較通常得到一個 Boolean 結果。考慮下一行 Jscript 代碼。

  y = (x == 2000);
  這裡要比較變數 x 的值是否與數字 2000 相等。如果相等,比較的結果為 Boolean 值 true,並將其賦給變數 y。如果 x 與 2000 不等,則比較的結果為 Boolean 值false。

  Boolean 值在結構控制中尤其有用。可以將直接建立 Boolean 值的比較與用使用該 Boolean 值的語句相組合。考慮下面的 Jscript 代碼範例。

  if (x == 2000)
   z = z + 1;
  else
   x = x + 1;
  當 Boolean 值為 true 時,Jscript 中的 if/else 語句執行一個操作(這樣,z = z + 1),而當 Boolean 值為 false 時執行另一個操作(x = x + 1)。

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

  if (x = y + z) // 這可能不是想要的結果 – 如下!
  注意上面的代碼並不檢查 x 是否與 y+z 相等,因為僅使用了一個等號(賦值)。相反的,上面的代碼將 y+z 賦給變數 x,然後檢查整個運算式的值是否為零。要檢查 x 是否與 y+z 相等,使用如下代碼。

  if (x == y + z) // 這與上面的代碼不同!
  有關比較的詳細資料,請參見控製程序的流程。

  Null 資料類型
  在 Jscript 中資料類型 null 只有一個值:null。關鍵字 null 不能用作函數或變數的名稱。

  包含 null 的變數包含“無值”或“無對象”。換句話說,該變數沒有儲存有效數、字串、Boolean、數組或對象。可以通過給一個變數賦 null 值來清除變數的內容。

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

  Undefined 資料類型
  如下情況使返回 undefined 值:

  對象屬性不存在,
  聲明了變數但從未賦值。
  注意不能通過與 undefined 做比較來測試一個變數是否存在,雖然可以檢查它的類型是否為“undefined”。在以下的代碼範例中,假設程式員想測試是否已經聲明變數 x :

  // 這種方法不起作用
  if (x == undefined)
   // 作某些操作

  // 這個方法同樣不起作用- 必須檢查
  // 字串 "undefined"
  if (typeof(x) == undefined)
   // 作某些操作

  // 這個方法有效
  if (typeof(x) == "undefined")
   // 作某些操作
  考慮將 undefined 值與null做比較。

  someObject.prop == null;
  如下情況時,比較的結果為 true,

  如果屬性 someObject.prop 包含 null 值,
  如果屬性 someObject.prop 不存在。
  要檢查一個對象屬性是否存在,可以使用新的 in 運算子:

  if ("prop" in someObject)
   // someObject 有屬性 prop



相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。