JavaScript的null和undefined區(qū)別示例介紹
先說(shuō)說(shuō)undefined:
Javascript中的變量是弱類型的, 所以聲明變量的時(shí)候只需使用var關(guān)鍵字即可。如果是像C這樣的強(qiáng)類型語(yǔ)言, 聲明變量的時(shí)候如果沒(méi)有指定初始值,那么會(huì)給他一個(gè)默認(rèn)值,比如int變量的默認(rèn)值是0。但是在Javascript這樣的弱類型語(yǔ)言中,沒(méi)有辦法確定到底該給這樣的變量一個(gè)什么樣的默認(rèn)值,比如我聲明一個(gè)變量
var v1;
是給他false還是0,或者是'' ?
因?yàn)闆](méi)有類型,所以無(wú)法確定。 在Javascript中對(duì)于這種生命后沒(méi)有給定初始值的變量,就給他一個(gè)undefined。不過(guò)前提是這個(gè)變量必須已經(jīng)聲明,如果對(duì)于沒(méi)有聲明過(guò)的標(biāo)識(shí)符,就會(huì)出錯(cuò)。看看下面的代碼。
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);
再來(lái)說(shuō)說(shuō)null:
Javscript有幾個(gè)基本類型,Number,String,Boolean,Object。對(duì)于Object 類型的變量,他有兩種情況,一種是他是一個(gè)對(duì)象的實(shí)例,另一種他是一個(gè)空引用null,熟悉類似Java這樣面向?qū)ο笳Z(yǔ)言的朋友應(yīng)該很容易理解。對(duì)于這兩種情況,他們的類型都是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類型的值,他用來(lái)表示空引用的概念,如果要將一個(gè)標(biāo)識(shí)符聲明稱object類型,但是暫時(shí)不給他實(shí)例,那么就可以將它先初始化為null,以便以后使用。
不一定絕對(duì)正確,簡(jiǎn)單來(lái)說(shuō),對(duì)于所有變量,只要聲明后還沒(méi)有指定初始值 ,那么他就是undefined,如果是Object類型用來(lái)表示空引用的概念,那么就是用null來(lái)表示。
下面是一些補(bǔ)充:
null :表示無(wú)值;
undefined : 表示一個(gè)未聲明的變量,或已聲明但沒(méi)有賦值的變量,或一個(gè)并不存在的對(duì)象屬性。==運(yùn)算符將兩者看作相等。如果要區(qū)分兩者,要使用===或typeof運(yùn)算符。使用if (!object){}兩者就都包含了 。
- JavaScript undefined及null區(qū)別實(shí)例解析
- JavaScript中undefined和null的區(qū)別
- javascript中undefined與null的區(qū)別
- JavaScript中Null與Undefined的區(qū)別解析
- JavaScript中的null和undefined區(qū)別介紹
- 詳解JavaScript中undefined與null的區(qū)別
- js中 關(guān)于undefined和null的區(qū)別介紹
- JS基礎(chǔ)之undefined與null的區(qū)別分析
- 一文讓你徹底弄懂js中undefined和null的區(qū)別
- javascript中undefined與null的區(qū)別
相關(guān)文章
JavaScript控制輸入框中只能輸入中文、數(shù)字和英文的方法【基于正則實(shí)現(xiàn)】
這篇文章主要介紹了JavaScript控制輸入框中只能輸入中文、數(shù)字和英文的方法,基于正則驗(yàn)證實(shí)現(xiàn)字符輸入限制功能,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2017-03-03uniapp實(shí)現(xiàn)h5、app與微信小程序三端pdf文件下載和預(yù)覽功能
作為使用uni-app的小白來(lái)說(shuō),嘗試了好幾種方法,終于得到了我想要的效果,下面這篇文章主要給大家介紹了關(guān)于uniapp實(shí)現(xiàn)h5、app與微信小程序三端pdf文件下載和預(yù)覽功能的相關(guān)資料,需要的朋友可以參考下2022-12-12JavaScript中實(shí)現(xiàn)new的兩種方式引發(fā)的探究
眾所周知JS中new的作用是通過(guò)構(gòu)造函數(shù)來(lái)創(chuàng)建一個(gè)實(shí)例對(duì)象,這篇文章主要給大家介紹了關(guān)于JavaScript中實(shí)現(xiàn)new的兩種方式引發(fā)的相關(guān)資料,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-05-05Javascript實(shí)現(xiàn)真實(shí)字符串剩余字?jǐn)?shù)提示的實(shí)例代碼
這篇文章介紹了Javascript實(shí)現(xiàn)真實(shí)字符串剩余字?jǐn)?shù)提示的實(shí)例代碼,有需要的朋友可以參考一下2013-10-10用js模仿word格式刷功能實(shí)現(xiàn)代碼 [推薦]
非常不錯(cuò)的模仿word格式刷實(shí)現(xiàn)代碼。推薦大家參考下思路。2009-07-07