underfined和"undefined"的 " /> 日韩精品一区在线观看,亚洲国产综合精品,瑟瑟网站免费网站入口

一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

JScript中的undefined和"undefined"的區別

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

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

    仔細閱讀JScript手冊,其實這個underfined是一個"已定義"的Global值,而不是它的字面意義所表達的未定義。我們看下面這個代碼示例,很有趣:
<script language="Javascript">
alert(undefined);
alert(variable);
</script>
    執行的結果是:
    undefined.png

    我們稍微修改一下上面的代碼,添加一個typeof調用來看看:    <script language="Javascript">
alert(typeof undefined);
alert(typeof variable);
</script>
    這下結果應該是什么呢?顯示"object"和"undefined"嗎?當然不是了,兩個alert調用都將顯示"undefined"。

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

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

JavaScript技術JScript中的undefined和&amp;quot;undefined&amp;quot;的區別,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 99久久国产综合精品国 | 一区在线视频 | 亚洲黄色在线播放 | 久久国产精品视频 | 中文字幕亚洲无线码在线一区 | 久久国产乱子伦精品免费不卡 | 黄色网址在线播放 | 激性欧美激情在线aa | 国产极品嫩模在线观看91精品 | 青青草国产免费国产是公开 | 国内精品视频区在线2021 | 欧美成人vr片线看 | 国产美女视频免费 | 欧美色婷婷 | 成人一级免费视频 | 日本高清在线精品一区二区三区 | 国产精品久久久久久久牛牛 | 99成人精品 | 亚洲午夜在线视频 | 影院成人区精品一区二区婷婷丽春院影视 | 国产91视频观看 | 美女又美女又黄又免费网站 | 91在线高清视频 | 涩涩网址 | 国产普通话一二三道 | 免费精品在线视频 | 欧美麻豆久久久久久中文 | 国产激情视频 | 国产一区二区三区免费播放 | 91久久精品日日躁夜夜躁欧美 | 国产精品色婷婷在线观看 | 亚洲国产系列一区二区三区 | 国产高清美女一级a毛片 | 中文字幕第二一区 | 欧美国产91| 国产精品中文字幕在线 | 多人伦交性欧美在线观看 | 欧美成人免费午夜影视 | 一区二区三区不卡免费视频97 | 九九色视频| 国产91丝袜香蕉在线播放 |