1. 程式人生 > >JS中六種資料型別(一)——Undefined

JS中六種資料型別(一)——Undefined

轉載自:http://blog.csdn.net/a2296096931/article/details/51072448 侵刪

JS中有6種資料型別:Undefined、Null、Boolean、Number、String和Object。JS中不支援任何建立自定義型別的機制,而所有值最終都將是這6種資料型別。其資料型別的動態性特點足以表示所有資料。JS提供typeof操作符來檢測變數的資料型別。

(typeof返回的是字串有六種可能:"number","string","boolean","object","function","undefined")。

    我們先來看看Undefined這個資料型別吧,Undefined型別只有一個特殊的值——undefined。

undefined表示"缺少值",就是此處應該有一個值,但是還沒有定義。典型用法是:

   (1)變數被聲明瞭,但沒有賦值時,就等於undefined。

   (2) 呼叫函式時,應該提供的引數沒有提供,該引數等於undefined。

   (3)物件沒有賦值的屬性,該屬性的值為undefined。

   (4)函式沒有返回值時,預設返回undefined。

    例如:

              var color;

              alert(message == undefined);//true

    這個例子只聲明瞭變數color,但未對其初始化。比較這個變數與undefined字面量,結果表明它們是相等的。這個例子與下面的例子是等價的:

              var color = undefined;

              alert(color == undefined)  ;//true

    不過,包含undefined值的變數與尚未定義的變數還是不一樣的:

             var color ;//變數宣告之後預設取得undefined值

              //未宣告的變數

              //var age

              alert(color);   //"undefined"

              alert(age);    //產生錯誤

    然而,對未初始化的變數執行typeof操作符會返回undefined值,而對未宣告的變數執行typeof操作符同樣也會返回undefined值。

              var color;//變數宣告之後預設取得undefined值

                 //未宣告的變數

              //var age

              alert(typeof color);  //"undefined"

              alert(typeof age);   // "undefined"

   結果表明,對未初始化和未宣告的變數執行 typeof 操作符都返回了 undefined 值;這個結果有其邏輯上的合理性。因為雖然這兩種變數從技術角度看有本質區別,但實際上無論對哪種變數也不可能執行真正的操作。