JavaScript基本類型值-Undefined、Null、Boolean
大致介紹
ECMAScript中有5中簡(jiǎn)單的數(shù)據(jù)類型(也稱為基本數(shù)據(jù)類型):Undefined、Null、Boolean、Number、String。
Undefined
Undefined時(shí)全局變量的一個(gè)屬性,它只有一個(gè)值即:undefined。當(dāng)使用var聲明變量但未對(duì)其初始化時(shí),這個(gè)變量的值就是undefined。
var test; console.log(test); //undefined
對(duì)于未聲明過(guò)的變量只能進(jìn)行一種操作,即typeof檢測(cè)其數(shù)據(jù)類型
//var a console.log(typeof a); //undefined
undefined通常出現(xiàn)的場(chǎng)景:
1、已經(jīng)聲明但未賦值的變量
2、typeof檢測(cè)未聲明的變量的數(shù)據(jù)類型
3、沒(méi)有返回值的函數(shù)的執(zhí)行結(jié)果
4、函數(shù)沒(méi)有傳入?yún)?shù)
5、void(expression)
//1、 var test; console.log(test); //undefined //2、 //var a console.log(typeof a); //undefined //3、 function f(){} console.log(f()); //undefined //4、 function f(x){ return x; } console.log(f()); //undefined //5、 console.log(void(0)); //undefined
嚴(yán)格相等和undefined
可以使用嚴(yán)格相等和不相等來(lái)檢測(cè)一個(gè)變量是否擁有值
var x ; if(x === undefined){ console.log(1); }else{ console.log(2); }
注意:這里要用嚴(yán)格相等,因?yàn)?null == undefined
void操作符和undefined
可以用void操作符來(lái)代替undefined
var x ; if(x === void(0)){ console.log(1); }else{ console.log(2); }
Null
Null類型是第二個(gè)只有一個(gè)值的數(shù)據(jù)類型,這個(gè)特殊的值是null。從邏輯的角度看,null值表示一個(gè)空對(duì)象的指針。null常被放在期望一個(gè)對(duì)象,但不引用任何對(duì)象的參數(shù)位置。
console.log(document.getElementById('ol')); //null
注意:
console.log(typeof null); //object
產(chǎn)生這樣的原因就如前面所說(shuō),null值表示一個(gè)空對(duì)象的指針,用typeof檢測(cè)數(shù)據(jù)類型,肯定就是object
從最底層講不同的對(duì)象在底層都表示為二進(jìn)制,在javascript中二進(jìn)制前三位都為0會(huì)被判斷為object類型,null的二進(jìn)制表示是全0,所以執(zhí)行typeof時(shí)返回'object'
null和undefined
null和undefined時(shí)不同的,但是他們都表示空值,null表示“空值”,undefined表示“未定義”。
typeof null // object typeof undefined // undefined null === undefined // false null == undefined // true null === null // true null == null // true !null //true isNaN(1 + null) // false isNaN(1 + undefined) // true
Boolean
Boolean類型是ECMAScript中使用最多的一種類型,該類型只有兩個(gè)字面值:true和false
注意:Boolean類型的字面值true和false是區(qū)分大小寫的
雖然Boolean類型的字面值只有兩個(gè),但是ECMAScript中所有的類型的值都有與這兩個(gè)Boolean值等價(jià)的值。要將一個(gè)值轉(zhuǎn)換為對(duì)應(yīng)的Boolean值,可以調(diào)用轉(zhuǎn)型函數(shù)Boolean()
var message = 'hello world'; var messageBoolean = Boolean(message); console.log(messageBoolean); //true
轉(zhuǎn)換表:
值 | 字符串 | 數(shù)字 | 布爾值 |
undefined | "undefined" | NaN | false |
null | “null” | 0 | false |
true | “true” | 1 | |
false | “false” | 0 | |
""空字符串 | 0 | ||
"1.2" 非空,數(shù)字 | 1.2 | ||
"o" 非空,非數(shù)字 | |||
0 | "0" | false | |
-0 | "0" | false | |
NaN | "NaN" | false | |
infinity | "infinity" | true | |
-infinity | "infinity" | true |
以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,同時(shí)也希望多多支持腳本之家!
- JavaScript判斷空值、NULL、undefined的方法對(duì)比
- js如何刪除對(duì)象/數(shù)組中null、undefined、空對(duì)象及空數(shù)組實(shí)例代碼
- JavaScript中的null和undefined用法解析
- js刪除對(duì)象/數(shù)組中null、undefined、空對(duì)象及空數(shù)組方法示例
- JavaScript中undefined和null的區(qū)別
- 有關(guān)JS中的0,null,undefined,[],{},'''''''''''''''',false之間的關(guān)系
- 兩個(gè)JavaScript中的特殊值null和undefined詳解
相關(guān)文章
利用JavaScript實(shí)現(xiàn)簡(jiǎn)單的網(wǎng)頁(yè)時(shí)鐘
這篇文章主要介紹了利用JavaScript實(shí)現(xiàn)簡(jiǎn)單的網(wǎng)頁(yè)時(shí)鐘,主要使用了js的日期對(duì)象,實(shí)現(xiàn)的時(shí)候先創(chuàng)建一個(gè)日期對(duì)象,并進(jìn)行網(wǎng)頁(yè)布局,對(duì)時(shí)間獲取之后將時(shí)間填入對(duì)應(yīng)的標(biāo)簽內(nèi)。然后使用多線程實(shí)現(xiàn)時(shí)鐘的變動(dòng),需要的朋友可以參考一下2022-02-02微信小程序使用uni-app開(kāi)發(fā)小程序及部分功能實(shí)現(xiàn)詳解
uni-app是一個(gè)使用Vue.js 開(kāi)發(fā)所有前端應(yīng)用的框架,下面這篇文章主要給大家介紹了關(guān)于微信小程序使用uni-app開(kāi)發(fā)小程序及部分功能實(shí)現(xiàn)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08根據(jù)鼠標(biāo)的位置動(dòng)態(tài)的控制層的位置
根據(jù)鼠標(biāo)的位置動(dòng)態(tài)的設(shè)置層的位置的js代碼。2009-11-11用戶引導(dǎo)插件driverjs的基本使用以及彈窗樣式修改方法
Driver.js是一個(gè)強(qiáng)大的、輕量級(jí)、使用原生JavaScript引擎開(kāi)發(fā)的庫(kù),用于在頁(yè)面聚焦用戶的關(guān)注點(diǎn),下面這篇文章主要介紹了用戶引導(dǎo)插件driverjs的基本使用以及彈窗樣式修改方法,需要的朋友可以參考下2024-04-04js實(shí)現(xiàn)時(shí)鐘定時(shí)器
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)時(shí)鐘定時(shí)器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-03-03JS 實(shí)現(xiàn)獲取打開(kāi)一個(gè)界面中輸入的值
JS 實(shí)現(xiàn)獲取打開(kāi)一個(gè)界面中輸入的值,需要的朋友可以參考一下2013-03-03JS表示Stack類練習(xí)用棧實(shí)現(xiàn)任意進(jìn)制轉(zhuǎn)換
這篇文章主要為大家介紹了JS表示Stack類練習(xí)用棧實(shí)現(xiàn)任意進(jìn)制轉(zhuǎn)換示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04