国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(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ó)家法律
瓦房店市| 宁阳县| 青冈县| 东乡族自治县| 上栗县| 门头沟区| 婺源县| 蒙城县| 彭山县| 高清| 磐石市| 隆回县| 尚义县| 收藏| 法库县| 双江| 东乌| 隆尧县| 桂东县| 塔河县| 永修县| 赣州市| 慈溪市| 淳安县| 东源县| 连平县| 杭州市| 册亨县| 马关县| 青州市| 孙吴县| 图们市| 开化县| 攀枝花市| 霍邱县| 江都市| 襄汾县| 聂荣县| 英超| 天柱县| 芮城县|