欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2017年02月23日 14:24:29   作者:老板丶魚(yú)丸粗面  
本文主要介紹了JavaScript基本類型值-Undefined、Null、Boolean的相關(guān)知識(shí),具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧

大致介紹

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í)也希望多多支持腳本之家!

相關(guān)文章

最新評(píng)論