亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

JScript中的undefined和"undefined"的區(qū)別

 更新時(shí)間:2007年03月08日 00:00:00   作者:  
JScript中用于表示未定義的undefined標(biāo)識(shí)符到底是表示什么未定義?它和"undefined"(包括"在內(nèi))又有什么區(qū)別和聯(lián)系呢?為什么有的時(shí)候可以使用undefined來(lái)和變量做比較,而有的時(shí)候又不行呢?

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

    仔細(xì)閱讀JScript手冊(cè),其實(shí)這個(gè)underfined是一個(gè)"已定義"的Global值,而不是它的字面意義所表達(dá)的未定義。我們看下面這個(gè)代碼示例,很有趣:
<script language="javascript">
alert(undefined);
alert(variable);
</script>

    執(zhí)行的結(jié)果是:
    undefined.png

    我們稍微修改一下上面的代碼,添加一個(gè)typeof調(diào)用來(lái)看看:   
<script language="javascript">
alert(typeof undefined);
alert(typeof variable);
</script>

    這下結(jié)果應(yīng)該是什么呢?顯示"object""undefined"嗎?當(dāng)然不是了,兩個(gè)alert調(diào)用都將顯示"undefined"。

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

    在實(shí)際使用中,如果使用typeof來(lái)判斷變量是否未定義,是可以完全兼容未定義(undefined)未初始化(uninitialized)兩種情況的,只是很多時(shí)我不喜歡使用 if ( typeof xxx == 'undefined' ) 這樣的寫法,因?yàn)閘iteral的字符串容易拼寫錯(cuò)誤,對(duì)用習(xí)慣了的強(qiáng)類型語(yǔ)言的角度來(lái)看也顯得不專業(yè)。

相關(guān)文章

  • 簡(jiǎn)述凍結(jié)JS對(duì)象方法技術(shù)

    簡(jiǎn)述凍結(jié)JS對(duì)象方法技術(shù)

    本文主要介紹了凍結(jié)JS對(duì)象方法技術(shù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • JS基礎(chǔ)之邏輯結(jié)構(gòu)與循環(huán)操作示例

    JS基礎(chǔ)之邏輯結(jié)構(gòu)與循環(huán)操作示例

    這篇文章主要介紹了JS基礎(chǔ)之邏輯結(jié)構(gòu)與循環(huán)操作,結(jié)合實(shí)例形式分析了JavaScript邏輯判斷、流程控制、循環(huán)語(yǔ)句等相關(guān)操作技巧,需要的朋友可以參考下
    2020-01-01
  • 淺談JS中的bind方法與函數(shù)柯里化

    淺談JS中的bind方法與函數(shù)柯里化

    下面小編就為大家?guī)?lái)一篇淺談JS中的bind方法與函數(shù)柯里化。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-08-08
  • 詳解webpack的proxyTable無(wú)效的解決方案

    詳解webpack的proxyTable無(wú)效的解決方案

    這篇文章主要介紹了詳解webpack的proxyTable無(wú)效的解決方案,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • JS識(shí)別瀏覽器類型(電腦瀏覽器和手機(jī)瀏覽器)

    JS識(shí)別瀏覽器類型(電腦瀏覽器和手機(jī)瀏覽器)

    本文給大家分享一段js代碼關(guān)于識(shí)別瀏覽器的類型是手機(jī)瀏覽器還是電腦瀏覽器,有需要的朋友可以參考下本文
    2016-11-11
  • jquery動(dòng)態(tài)添加刪除(tr/td)

    jquery動(dòng)態(tài)添加刪除(tr/td)

    這篇文章主要介紹了jquery動(dòng)態(tài)添加刪除(tr/td)的方法,需要的朋友可以參考下
    2015-02-02
  • JS實(shí)現(xiàn)點(diǎn)擊文字對(duì)應(yīng)DIV層不停閃動(dòng)效果的方法

    JS實(shí)現(xiàn)點(diǎn)擊文字對(duì)應(yīng)DIV層不停閃動(dòng)效果的方法

    這篇文章主要介紹了JS實(shí)現(xiàn)點(diǎn)擊文字對(duì)應(yīng)DIV層不停閃動(dòng)效果的方法,實(shí)例分析了javascript操作div層的效果,非常實(shí)用,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-03-03
  • js中的閉包實(shí)例展示

    js中的閉包實(shí)例展示

    閉包是js中的一大特色,也是一大難點(diǎn)。下面這篇文章主要給大家介紹了關(guān)于js中閉包的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用js具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧
    2018-11-11
  • JavaScript 繼承詳解及示例代碼

    JavaScript 繼承詳解及示例代碼

    本文主要介紹JavaScript 繼承的知識(shí),這里整理了詳細(xì)的資料及簡(jiǎn)單示例代碼,幫助大家學(xué)習(xí)參考,有興趣的小伙伴可以參考下
    2016-09-09
  • js事件on動(dòng)態(tài)綁定數(shù)據(jù),綁定多個(gè)事件的方法

    js事件on動(dòng)態(tài)綁定數(shù)據(jù),綁定多個(gè)事件的方法

    今天小編就為大家分享一篇js事件on動(dòng)態(tài)綁定數(shù)據(jù),綁定多個(gè)事件的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-09-09

最新評(píng)論