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

JavaScript的null和undefined區(qū)別示例介紹

 更新時(shí)間:2014年09月15日 17:08:30   投稿:whsnow  
在Javascript中對于這種生命后沒有給定初始值的變量,就給他一個(gè)undefined,如果要將一個(gè)標(biāo)識符聲明稱object類型,但是暫時(shí)不給他實(shí)例,那么就可以將它先初始化為null

先說說undefined:

Javascript中的變量是弱類型的, 所以聲明變量的時(shí)候只需使用var關(guān)鍵字即可。如果是像C這樣的強(qiáng)類型語言, 聲明變量的時(shí)候如果沒有指定初始值,那么會(huì)給他一個(gè)默認(rèn)值,比如int變量的默認(rèn)值是0。但是在Javascript這樣的弱類型語言中,沒有辦法確定到底該給這樣的變量一個(gè)什么樣的默認(rèn)值,比如我聲明一個(gè)變量

var v1;

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

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

vo="vo";//不使用var關(guān)鍵字創(chuàng)建的是全局變量,如果不賦值會(huì)報(bào)錯(cuò),如下
//v1;//會(huì)報(bào)錯(cuò)
var v2;//undeifned
var v3="";//null
alert(vo);
//alert(v1);//
alert(v2);
alert(v3);

再來說說null:

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

代碼如下:

var v1 = 1; 
var v2 = true; 

alert(typeof v1); //number 
alert(typeof v2); //boolean 

v2 = new Date(); 
alert(typeof v2); //object 

v2 = "str"; 
alert(typeof v2); //string 

v2 = null; 
alert(typeof v2); //object

可以看到,null在 Javascript中代表一個(gè)特殊的Object類型的值,他用來表示空引用的概念,如果要將一個(gè)標(biāo)識符聲明稱object類型,但是暫時(shí)不給他實(shí)例,那么就可以將它先初始化為null,以便以后使用。
不一定絕對正確,簡單來說,對于所有變量,只要聲明后還沒有指定初始值 ,那么他就是undefined,如果是Object類型用來表示空引用的概念,那么就是用null來表示。

下面是一些補(bǔ)充:

null :表示無值;
undefined : 表示一個(gè)未聲明的變量,或已聲明但沒有賦值的變量,或一個(gè)并不存在的對象屬性。==運(yùn)算符將兩者看作相等。如果要區(qū)分兩者,要使用===或typeof運(yùn)算符。使用if (!object){}兩者就都包含了 。

相關(guān)文章

最新評論

乡宁县| 深圳市| 方山县| 姚安县| 渑池县| 文山县| 亳州市| 固原市| 济源市| 宁阳县| 虎林市| 安新县| 呈贡县| 云浮市| 峡江县| 东海县| 东乌珠穆沁旗| 永年县| 莎车县| 博罗县| 新邵县| 德兴市| 三门县| 棋牌| 阿勒泰市| 元氏县| 罗定市| 唐山市| 西平县| 太保市| 于都县| 营口市| 泌阳县| 曲靖市| 房产| 东平县| 安阳市| 双桥区| 苏尼特左旗| 福海县| 南康市|