close

from http://blog.xuite.net/ahdaa/blog1/34061193

 

這兩個是Javascript的特殊資料類型 

null
意指『沒有值』。被視為一個物件(object)。
1 <script type="text/javascript">
2     alert(typeof(unll));
3     //訊息回應:object
4 </script>
undefined
有以下兩種情形會被視為undefined:
  1. 該變數未被宣告、
  2. 被宣告的變數未給值。(object)。
1 <script type="text/javascript">
2     alert(typeof(undefined));
3     //訊息回應:undefined
4 </script>

先宣告兩變數objNull以及objUndef

1 <script type="text/javascript">
2     var objNull = null;
3     var objUndef = undefined;
4 </script>

接下來進行一串輸出測試

01 <script type="text/javascript">
02     alert(objNull);
03     //訊息回應:null
04     alert(objUndef);
05     //訊息回應:undefined
06     /* 先將兩個變數加起來看看有什麼結果 */
07     alert(objNull + objUndef);
08     //訊息回應:NaN
09     /* 本來以為這個輸出會出現錯誤訊息,有點意外!
10      * JavaScript的心胸還真是廣大 XD */
11 </script>

再來將兩個變數各別加上123的數值類型以及變數類型

01 <script type="text/javascript">
02     alert(objNull + 123);
03     //訊息回應:123
04     alert(objNull + "123");
05     //訊息回應:null123
06     alert(objUndef + 123);
07     //訊息回應:NaN
08     alert(objUndef + "123");
09     //訊息回應:defined123
10 </script>

最後再輸出一個沒有被宣告的變數objUnDeclare以及被宣告沒給值的變數objDeclare

1 <script type="text/javascript">
2     var objDeclare;
3     alert(objUnDeclare);
4     //訊息回應:此變數未被定義
5     alert(objDeclare);
6     alert(typeof(objDeclare));
7     alert(typeof(objUnDeclare));
8     //以上三個訊息的回應都是:undefined
9 </script>

從這個結果看來,
typeof(objUnDeclare)還頗適合拿來做為網頁間傳遞參數的判斷,
判斷該變數被傳遞過來、有否被宣告以及是否被宣告而沒給值後,再來做下一步的程式執行!

 

arrow
arrow
    全站熱搜

    zer931 發表在 痞客邦 留言(0) 人氣()