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

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

 更新時(shí)間:2015年01月01日 09:27:31   投稿:junjie  
這篇文章主要介紹了JavaScript中的null和undefined區(qū)別介紹,JavaScript中存在2個(gè)代表信息不存在的特殊值:null和undefined,本文主要講解它們的區(qū)別,需要的朋友可以參考下

JavaScript中存在2個(gè)代表信息不存在的特殊值:null和undefined。個(gè)人認(rèn)為可以從以下角度來理解這兩個(gè)特殊值之間的區(qū)別:

1.null代表有存儲(chǔ)信息的容器(比如之前被賦過值的變量),但該容器中的內(nèi)容為空。
2.undefined代表不存在用于存儲(chǔ)信息的容器。

JavaScript中的null與其它多數(shù)編程語言中的null沒有什么區(qū)別,基本用于表示信息值為空;而在JavaScript中下述情況下表達(dá)式返回結(jié)果為undefined:

1.從未被賦過值的變量。
2.訪問某個(gè)對(duì)象不存在的屬性值。
3.訪問數(shù)組中不存在的成員。
4.調(diào)用沒有return語句的函數(shù)。
5.調(diào)用return語句為空(“return ;”)的函數(shù)。

事實(shí)上,和Infinity、NaN一樣,undefined在JavaScript中是一個(gè)全局變量,在ECMAScript 3中甚至可以被賦予其它值。ECMAScript 5糾正了這個(gè)錯(cuò)誤,并將undefined變量設(shè)定為只讀。

對(duì)于null和undefined之間的比較,可以使用===全等操作符。如果使用普通的==操作符,null與undefined是等價(jià)的:


復(fù)制代碼 代碼如下:

console.log(null == undefined);//true
console.log(null === undefined);//false


在程序編寫過程中,如果需要對(duì)某個(gè)變量賦以空值,一般使用null而不是undefined。其原因在于:

1.undefined一般認(rèn)為是屬于系統(tǒng)層面的、報(bào)錯(cuò)層面的信息缺失。
2.null一般認(rèn)為是屬于編程層面的、邏輯操作層面的信息值為空。

如果在程序中涉及類型轉(zhuǎn)換,那么當(dāng)轉(zhuǎn)換為number類型時(shí),null和undefined的結(jié)果是不一樣的:

1.undefined轉(zhuǎn)換為number的結(jié)果是NaN。
2.null轉(zhuǎn)換為number的結(jié)果是0。

值得一提的是,空字符串和空數(shù)組轉(zhuǎn)換成number后的結(jié)果也是0。

至于JavaScript中為什么要設(shè)計(jì)兩個(gè)表示“沒有”的值,可以參見阮一峰的博客文章。

實(shí)驗(yàn)

在下述實(shí)驗(yàn)代碼中,表達(dá)式結(jié)果均為undefined:

復(fù)制代碼 代碼如下:

var a;
console.log(a);

function Sample(x){
  this.x = x;
}
var s = new Sample();
console.log(s.x)
console.log(s.notExistVariable);

var n = [2,3,4];
console.log(n[8]);

function test(){
  //no return value for this function
}
console.log(test());

function test2(){
  return;
}
console.log(test2());

相關(guān)文章

最新評(píng)論

门头沟区| 原阳县| 永年县| 宜黄县| 湖北省| 饶河县| 汾阳市| 镇坪县| 分宜县| 商丘市| 佛教| 柳州市| 通河县| 都江堰市| 浠水县| 喀喇| 平塘县| 南陵县| 龙胜| 胶州市| 巍山| 新昌县| 北流市| 和林格尔县| 莱阳市| 汉源县| 江达县| 舒兰市| 灵璧县| 英山县| 沅陵县| 连平县| 蒲江县| 汶川县| 宾阳县| 临高县| 剑阁县| 西林县| 孝昌县| 滁州市| 交城县|