亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

大致介紹

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

Undefined

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

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

對于未聲明過的變量只能進行一種操作,即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

從最底層講不同的對象在底層都表示為二進制,在javascript中二進制前三位都為0會被判斷為object類型,null的二進制表示是全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í)或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!

相關(guān)文章

最新評論