西西軟件園多重安全檢測下載網(wǎng)站、值得信賴的軟件下載站!
軟件
軟件
文章
搜索

首頁編程開發(fā)javascript|JQuery → javascript 中的 undefined 與 null 的區(qū)別

javascript 中的 undefined 與 null 的區(qū)別

相關(guān)軟件相關(guān)文章發(fā)表評論 來源:程序的靈魂時間:2010/3/17 11:42:07字體大小:A-A+

作者:不詳點擊:230次評論:0次標(biāo)簽: undefined

  • 類型:塔防游戲大。45.9M語言:英文 評分:6.6
  • 標(biāo)簽:
立即下載

在Javascript中有兩個值用來代表類似空值的概念,undefined和null,這兩個很容易被混淆,他們表示的是兩個不同的概念。

先說說undefined:

Javascript中的變量是弱類型的(關(guān)于這個我想就不用我多解釋啦), 所以聲明變量的時候只需使用var關(guān)鍵字即可。如果是像C這樣的強類型語言, 聲明變量的時候如果沒有指定初始值,那么會給他一個默認值,比如int變量的默認值是0。但是在Javascript這樣的弱類型語言中,沒有辦法確定到底該給這樣的變量一個什么樣的默認值,比如我聲明一個變量

var v1;

是給他false還是0,或者是'' ?

因為沒有類型,所以無法確定。 在Javascript中對于這種生命后沒有給定初始值的變量,就給他一個undefined。不過前提是這個變量必須已經(jīng)聲明,如果對于沒有聲明過的標(biāo)識符,就會出錯?纯聪旅娴拇a。

 

1 var v1;
2 alert(v1); //undefined
3 alert(v2); //報錯

 

再來說說null,Javscript有幾個基本類型,Number,String,Boolean,Object。對于Object 類型的變量,他有兩種情況,一種是他是一個對象的實例,另一種他是一個空引用null,熟悉類似Java這樣面向?qū)ο笳Z言的朋友應(yīng)該很容易理解。對于這兩種情況,他們的類型都是Object。Javascript中的變量,在給他賦值的時候,才

會確定它的類型,比如下面這樣。

 

1 var v1 = 1;
2 var v2 = true;
3
4 alert(typeof v1); //number
5 alert(typeof v2); //boolean
6
7 v2 = new Date();
8 alert(typeof v2); //object
9
10 v2 = "str";
11 alert(typeof v2); //string
12
13 v2 = null;
14 alert(typeof v2); //object
 

 

可以看到,null在 Javascript中代表一個特殊的Object類型的值,他用來表示空引用的概念,如果要將一個標(biāo)識符聲明稱object類型,但是暫時不給他實例,那么就可以將它先初始化為null,以便以后使用。

 

不一定絕對正確,簡單來說,對于所有變量,只要聲明后還沒有指定初始值 ,那么他就是undefined,如果是Object類型用來表示空引用的概念,那么就是用null來表示。

    機器人大戰(zhàn)
    (15)機器人大戰(zhàn)
    機器人大戰(zhàn)游戲發(fā)展到現(xiàn)在,也是層次不求,不得不說現(xiàn)在的開發(fā)商都在試圖尋求商機,抓機遇,只要有點風(fēng)聲草動的,立馬就是成群的跟風(fēng),好在跟風(fēng)作品中還有些相當(dāng)不錯的,大家還是可以玩一下。機戰(zhàn)是熱血男兒的游戲這句經(jīng)典的話在廣大機戰(zhàn)迷中廣為流傳。無數(shù)玩家不厭其煩的重復(fù)觀賞著心愛的機體的必殺動畫,心中充滿著沸騰的熱血。目前也有劇情人物機體全部為原創(chuàng)的機戰(zhàn)作品,就是平臺上的平臺的外傳的的魔裝機神以及上的,不同于以...更多>>

    相關(guān)評論

    閱讀本文后您有什么感想? 已有人給出評價!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評論

    最新評論

    發(fā)表評論 查看所有評論(0)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字數(shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)