国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JavaScript基本類型值-Undefined、Null、Boolean

2019-11-19 17:26:23
字體:
供稿:網(wǎng)友

大致介紹

ECMAScript中有5中簡單的數(shù)據(jù)類型(也稱為基本數(shù)據(jù)類型):Undefined、Null、Boolean、Number、String。

Undefined

Undefined時全局變量的一個屬性,它只有一個值即:undefined。當(dāng)使用var聲明變量但未對其初始化時,這個變量的值就是undefined。

var test;console.log(test); //undefined

對于未聲明過的變量只能進(jìn)行一種操作,即typeof檢測其數(shù)據(jù)類型

 //var a console.log(typeof a); //undefined

undefined通常出現(xiàn)的場景:

1、已經(jīng)聲明但未賦值的變量

2、typeof檢測未聲明的變量的數(shù)據(jù)類型

3、沒有返回值的函數(shù)的執(zhí)行結(jié)果

4、函數(shù)沒有傳入?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)格相等和不相等來檢測一個變量是否擁有值

var x ; if(x === undefined){ console.log(1); }else{ console.log(2); }

注意:這里要用嚴(yán)格相等,因為 null == undefined

void操作符和undefined

可以用void操作符來代替undefined

var x ; if(x === void(0)){ console.log(1); }else{ console.log(2); }

Null

Null類型是第二個只有一個值的數(shù)據(jù)類型,這個特殊的值是null。從邏輯的角度看,null值表示一個空對象的指針。null常被放在期望一個對象,但不引用任何對象的參數(shù)位置。

console.log(document.getElementById('ol')); //null

注意:

console.log(typeof null); //object

產(chǎn)生這樣的原因就如前面所說,null值表示一個空對象的指針,用typeof檢測數(shù)據(jù)類型,肯定就是object

從最底層講不同的對象在底層都表示為二進(jìn)制,在javascript中二進(jìn)制前三位都為0會被判斷為object類型,null的二進(jìn)制表示是全0,所以執(zhí)行typeof時返回'object'

null和undefined

null和undefined時不同的,但是他們都表示空值,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中使用最多的一種類型,該類型只有兩個字面值:true和false

注意:Boolean類型的字面值true和false是區(qū)分大小寫的

雖然Boolean類型的字面值只有兩個,但是ECMAScript中所有的類型的值都有與這兩個Boolean值等價的值。要將一個值轉(zhuǎn)換為對應(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 

以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時也希望多多支持武林網(wǎng)!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 陕西省| 五家渠市| 敦煌市| 华安县| 泌阳县| 大田县| 綦江县| 虹口区| 泸水县| 英山县| 秦安县| 朝阳市| 海门市| 凤台县| 汶上县| 上思县| 天等县| 陵川县| 芦山县| 永春县| 永胜县| 启东市| 鄄城县| 铁岭县| 洪洞县| 泗洪县| 新泰市| 宁都县| 大悟县| 获嘉县| 桂东县| 茶陵县| 临澧县| 红原县| 永顺县| 修武县| 盐城市| 齐河县| 定日县| 修文县| 油尖旺区|