一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術(shù)及軟件下載分享
分類導航

node.js|vue.js|jquery|angularjs|React|json|js教程|

服務器之家 - 編程語言 - JavaScript - JavaScript中的null和undefined區(qū)別介紹

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

2021-06-18 18:16junjie JavaScript

這篇文章主要介紹了JavaScript中的null和undefined區(qū)別介紹,JavaScript中存在2個代表信息不存在的特殊值:null和undefined,本文主要講解它們的區(qū)別,需要的朋友可以參考下

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

 

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

 

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

 

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

 

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

 

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

 

復制代碼 代碼如下:

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

 


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

 

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

 

如果在程序中涉及類型轉(zhuǎn)換,那么當轉(zhuǎn)換為number類型時,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è)計兩個表示“沒有”的值,可以參見阮一峰的博客文章。

 

實驗

 

在下述實驗代碼中,表達式結(jié)果均為undefined:

復制代碼 代碼如下:

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());

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 色播影音先锋 | 婷婷久久综合九色综合九七 | 午夜福到在线4国产 | 国产精品久久亚洲一区二区 | 韩国美女主播在线 | 免费特黄视频 | 久久电影午夜 | 禁止的爱善良的未删减版hd | 亚洲色图中文字幕 | 天天综合天天影视色香欲俱全 | 青草草在线观看 | bnb998八度免费影院丫意浓 | 亚洲视频在线观看免费 | 美女私人影院 | 99精品国产高清自在线看超 | 亚洲日本久久一区二区va | 干美女视频 | h视频免费高清在线观看 | evelynlin亚裔播放 | 九九99在线视频 | 欧美日韩精品乱国产538 | 久久国产影院 | 国模娜娜a4u1546全套 | 外女思春台湾三级 | 国产一区二区在线观看美女 | 日本破处| 亚洲国内精品久久 | 免费高清在线视频色yeye | 欧美国产在线观看 | 日韩一卡2卡3卡新区网站 | 明星裸乳照无奶罩 | 国产小视频在线 | 四虎私人影院 | 国产成人a∨麻豆精品 | 清纯唯美 亚洲 | 超h 超重口 高h 污肉1v1 | 亚洲午夜久久久久国产 | 关晓彤被草 | 欧美在线视频7777kkkk | 欧美成人aaaa免费高清 | 毛片视频在线免费观看 |