最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

undefined==null引發(fā)的兩者區(qū)別與聯(lián)系

 更新時間:2007年12月22日 01:11:24   作者:  
undefined==null引發(fā)的兩者區(qū)別與聯(lián)系

null :表示無值;
undefined : 表示一個未聲明的變量,
                或已聲明但沒有賦值的變量,
                或一個并不存在的對象屬性。

==運算符將兩者看作相等。如果要區(qū)分兩者,要使用===或typeof運算符。 
使用if (!object){}兩者就都包含了

補充:2006.12.6
var obj = "aaa";
var nullobj;

 if (obj == null || obj == undefined || (!obj) ){
  alert("obj is null");
 }

 if (nullobj == null){
  alert("obj is null");
 }

 if (nullobj == undefined){
  alert("obj is undefined ");
 }

 if ( !nullobj ){
  alert("! obj ");
 }

關于undefined和"undefined的補充(2007/1/30):


    JScript中用于表示未定義的undefined標識符到底是表示什么未定義?它和"undefined"(包括"在內)又有什么區(qū)別和聯(lián)系呢?為什么有的時候可以使用undefined來和變量做比較,而有的時候又不行呢?

    underfined和"undefined"的區(qū)別大家一眼就能看出來。在一般的認知下,我們認為undefined是JScript提供的一個"關鍵字",而"undefined"卻毫無懸念的就是一個字符串,只是引號內的內容長得和undefined一個樣。undefined和"undefined"的區(qū)別雖然是十分明顯的,但它們的聯(lián)系也是緊密的。

    仔細閱讀JScript手冊,其實這個underfined是一個"已定義"的Global值,而不是它的字面意義所表達的未定義。我們看下面這個代碼示例,很有趣:


<script language="javascript">
alert(undefined);
alert(variable);
</script>

    執(zhí)行的結果是: 

   undefined.png
我們稍微修改一下上面的代碼,添加一個typeof調用來看看:    

<script language="javascript">
alert(typeof undefined);
alert(typeof variable);
</script>

    這下結果應該是什么呢?顯示"object"和"undefined"嗎?當然不是了,兩個alert調用都將顯示"undefined"。

    所以undefined是腳本引擎定義的一個常量,它在腳本引擎初始化完畢后存在。它的實際作用是用來表示一個已定義的變量的為初始化狀態(tài)(uninitialized),比如var i;,這時這個i的值就是undefined,而i是實實在在define了的,只是未初始化。這時我們就可以寫這樣的表達式來對i做判斷,比如if ( i == undefined )。如果從未在代碼中出現(xiàn)過的變量被使用,這時的未定義的概念就是不undefined所描述的未初始化了,而是說明該變量完全未被登記到腳本引擎的上下文中。使用類似if ( abc == undefined )的語句,將得到類似上圖中的第二個錯誤提示。

    在實際使用中,如果使用typeof來判斷變量是否未定義,是可以完全兼容未定義(undefined)和未初始化(uninitialized)兩種情況的,只是很多時我不喜歡使用 if ( typeof xxx == 'undefined' ) 這樣的寫法,因為literal的字符串容易拼寫錯誤,對用習慣了的強類型語言的角度來看也顯得不專業(yè)。


相關文章

最新評論

汽车| 兰溪市| 连平县| 河北省| 东方市| 罗定市| 通海县| 岳阳市| 微博| 民县| 灌南县| 大城县| 长阳| 五大连池市| 兴业县| 武功县| 麦盖提县| 枣阳市| 呼图壁县| 太原市| 边坝县| 永安市| 唐海县| 石台县| 巴楚县| 汽车| 福海县| 彰武县| 子长县| 饶平县| 丽水市| 台北市| 田阳县| 斗六市| 拉萨市| 珲春市| 灵山县| 怀安县| 临朐县| 江门市| 盐亭县|