最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

JS中undefined和null的區(qū)別

2023-03-07 10:23 作者:千鋒前端  | 我要投稿

●?JavaScript 真是一個(gè)特殊的語言, 其他語言都只有一個(gè)表示 "無" 的值, 比如 Java 語言用的是 null, C 語言用的是 NULL, Python 語言用的是 None, Ruby 語言用的是 nil. 只有 JS 里面表示 "空" 的有兩個(gè), 一個(gè)是 undefined, 一個(gè)是 null

●?很多小朋友在剛開始學(xué)習(xí)的時(shí)候, 都會(huì)有一個(gè)疑問, 就是 undefined 和 null 二者之間有什么區(qū)別呢 ? 我什么時(shí)候該用什么呢 ?

●?接下來, 咱們就來好好聊一聊


JS的基本數(shù)據(jù)類型

●?在 JS 內(nèi), 有幾個(gè)基本數(shù)據(jù)類型

●?ES5

????○?Number 數(shù)值

????○?String 字符串

????○?Boolean 布爾

????○?Undefined 空

????○?Null 空

●?ES6

????○?Symbel 唯一值

●?undefined 和 null 其實(shí)就是 JS 中的基本數(shù)據(jù)類型, 空類型

????○?從這個(gè)角度來看, 他們兩個(gè)是一樣的, 都表示 空 的意思

????○?并且在進(jìn)行數(shù)據(jù)類型比較的時(shí)候, 某些情況下也是一樣的


兩者的區(qū)別

●?兩者的區(qū)別還是在于含義

●?之前我們說過, 所有的數(shù)據(jù)在計(jì)算機(jī)都是以二進(jìn)制形式存儲(chǔ)的

●?那么這兩個(gè)數(shù)據(jù)也是會(huì)按照二進(jìn)制形式存儲(chǔ)的

????○?undefined 因?yàn)楸硎镜氖?"沒有", 所以沒得轉(zhuǎn)換, 啥也沒有

????○?null 因?yàn)楸硎镜氖?"空", 其實(shí)是有內(nèi)容, 只不過有一個(gè)空內(nèi)容, 存儲(chǔ)的是 0000 0000 ...

●?那么反饋到我們的代碼內(nèi)

????○?undefined 就是沒有值, 或者說未被賦值

????○?null 就是有值, 有一個(gè)空值, 一般會(huì)被當(dāng)做這里有一個(gè)空對(duì)象, 也叫作空指針

●?舉個(gè)例子 : 咱們以數(shù)字為例

????○?

這就是有一個(gè)具體的數(shù)字, 100 200 什么的

????○?

這就是 0, 用完了, 沒有了

????○?

這就是 null, 有一個(gè)空架子, 其他的什么都沒有

????○?

這就是 undefined, 連個(gè)架子都沒有

●?根據(jù)上面的例子

????○?undefined, 你什么都不需要做, 只要什么也不賦值就是 undefined

????○?null, 需要你賦值, 直接賦值為一個(gè) null, 也就是你要安裝一個(gè)空架子


兩者對(duì)比

1.? 數(shù)據(jù)類型不同, 但是值相同

????○?兩個(gè)數(shù)據(jù)分別屬于 Undefined 類型和 Null 類型

????○?但是表示的值都是空

????○?所以在比較的時(shí)候, 我們要注意

2.? 數(shù)據(jù)類型轉(zhuǎn)換成為數(shù)值類型的時(shí)候結(jié)果不一樣

????○? null 表示空, 存儲(chǔ)的時(shí)候也是一大堆 0, 所以轉(zhuǎn)換為數(shù)值是 0

????○?undefined 表示沒有, 什么都沒有內(nèi)容轉(zhuǎn)換為數(shù)值以后是 NaN

3.? 使用場(chǎng)景不同

●?null

????○?在我們需要一個(gè)空值或者置空變量的時(shí)候手動(dòng)賦值

????○?原型鏈的終點(diǎn)位置, 也就是 Object.prototype.__proto__ 是 null

●?undefined

????○?在變量聲明未賦值的時(shí)候就是 undefined

????○?函數(shù)只有形參沒有實(shí)參的時(shí)候, 這個(gè)形參的值也是 undefined

????○?如果一個(gè)函數(shù)沒有設(shè)置返回值, 那么這個(gè)函數(shù)的返回值也是 undefined

總結(jié)

●?總之, 我們就記住一個(gè)原則

????○?當(dāng)你什么也沒有做過的時(shí)候, 那么就是 undefined

????○?只有你想白干活的時(shí)候, 那么你就手動(dòng)給他寫成 null 就好了


JS中undefined和null的區(qū)別的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
塔河县| 顺昌县| 含山县| 比如县| 修文县| 宁强县| 灵武市| 瑞安市| 军事| 彰武县| 梁山县| 读书| 册亨县| 奉化市| 安国市| 岚皋县| 大足县| 甘洛县| 民乐县| 鹿泉市| 邵阳市| 澄江县| 沂南县| 五台县| 嘉禾县| 突泉县| 富平县| 肇州县| 米泉市| 公安县| 松滋市| 清新县| 田阳县| 延吉市| 随州市| 昂仁县| 富平县| 黄冈市| 廉江市| 长兴县| 民勤县|