undefined(程式語句)

undefined(程式語句)

本詞條是多義詞,共2個義項
更多義項 ▼ 收起列表 ▲

undefined,一個特殊值,通常用於指示變數尚未賦值。在高級程式設計語言設計應用程式時,用於指示變數尚未用單等號進行賦值(常量未定義)。

基本介紹

  • 中文名:未定義
  • 外文名:undefined(程式設計也作外語代碼)
  • 解釋:一個特殊值
簡介,示例,null與undefined,

簡介

undefined表示“未定義”,一個特殊值,通常用於指示變數尚未賦值。對未定義值的引用返回特殊值“未定義”。類型定義代碼 typeof(undefined) 返回未定義字元串。當將“未定義”轉換為字元串時,它轉換為空字元串
“未定義”值與特殊值null(空)相似。事實上,當使用相等運算符對null(空)和“未定義”進行比較時,它們的比較結果為相等。

示例

在這個示例中,變數 x 尚未聲明,所以其值為未定義。在代碼的第一部分,使用相等運算符 (==) 比較 x 的值與值“未定義”,並將相應的結果傳送到輸出視窗。在代碼的第二部分,使用相等運算符比較值null(空)與“未定義”。
/*變數x“未聲明”。*/trace("x的值為"+x);if(x==undefined)/*如果變數X為未定義*/{trace("x是未定義的。");}else/*否則*/{trace("x不是未定義的。");}
trace("類型定義(x)為"+類型定義(x));if(null==undefined)/*如果空等於未定義*/{trace("空null和未定義undefined都相等");}else/*否則*/{trace("空null和未定義undefined都不相等");}
下面的結果顯示在輸出視窗中:
x的值是X是未定義
類型定義(x)是未定義
空null和未定義undefined都相等
注意:在 ECMA-262 規範中,將 undefined 轉換為字元串“undefined”,而不轉換為空字元串。這是動作腳本與 ECMA-262 規範之間的差異。

null與undefined

null的類型是一個對象,用來表示一個變數沒有任何數值,而undehned是指變數沒有定義任何值。
在JavaScript中,關鍵字null表示空值的意思,它表示對象為空,或者變數沒有引用任何對象。如果當一個變數的值為null,則表明它的值不是有效的對象、數組、數值、字元串和布爾型等。如果使用alert(typeof(null))來檢測null值的類型,則返回object,說明它是一個對象類型。
而undefined與null不同,它表示無值的意思,並且具有獨一無二的類型,它區別任何對象、數組、數值、字元串和布爾型。alert(typeof(undefined))的返回值為undefined。
空值數據類型的值只有一個。即Null。就是“什麼都沒有”的意思。因此該數據類型又被稱為Null型。空值數據類型在有些情況下是非常有用的。比如判斷選擇的內容是否為空等。從而讓程式做出判斷。具體如下面語句所述。
  if(Selection.getFocus()==null)  {                               //判斷選擇內容是否為空    trace(“no selection”);    //如果為空則輸出“no selection”   }   
以下一些情況會出現空值。
(1)變數已經定義。但是還沒有接收到值。
(2)變數的值已經被清空。不再包含值。
(3)作為函式的返回值。但函式沒有可以返回的值。
(4)作為函式的一個參數。但該參數已經被省略。
未定義數據類型的值也只有一個。那就是Undefined。因此也被稱為Undefined型。它主要用於尚未分配值的變數。使用未定義型變數可以檢查自己是否已經定義某個變數。具體如下面語句所述。
if(x==undefined){                          //判斷變數X是否未定義    trace(“未定義”);    //如果未定義則輸出“未定義”    var X;                //定義X變數}

相關詞條

熱門詞條

聯絡我們