成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

【javascript系列】布爾類型及轉(zhuǎn)換

wangxinarhat / 3092人閱讀

摘要:基本值原始值原始的布爾類型有兩個(gè)值和。創(chuàng)建布爾值的方式直接用字面量用函數(shù),將其他任意值轉(zhuǎn)換成對(duì)應(yīng)的原始布爾值。使用兩次非運(yùn)算符,將其轉(zhuǎn)換成對(duì)應(yīng)的布爾類型。下面來(lái)看一些將其他類型轉(zhuǎn)換成布爾類型的例子。

基本值(原始值)

原始的布爾類型boolean有兩個(gè)值: falsetrue。

> typeof false
"boolean"
> typeof true
"boolean"
創(chuàng)建布爾值的方式

直接用字面量

var a = false;
var b = true;

用Boolean函數(shù),將其他任意值轉(zhuǎn)換成對(duì)應(yīng)的原始布爾值。

> a = Boolean()
false
> a = Boolean(true)
true

布爾類型與其他類型之間的轉(zhuǎn)換 其他類型值轉(zhuǎn)換成布爾值的對(duì)應(yīng)關(guān)系

對(duì)應(yīng)關(guān)系表如下所示:

其他類型值 轉(zhuǎn)換成的布爾值
undefined false
null false
布爾值 不用轉(zhuǎn)換
數(shù)字 0,NaN轉(zhuǎn)化成false,其他數(shù)字類型轉(zhuǎn)換成true
字符串 只有空字符串""轉(zhuǎn)換成false,其他都轉(zhuǎn)換成true
對(duì)象 全部轉(zhuǎn)換為true

根據(jù)上表可總結(jié)為,js中五中基本數(shù)據(jù)類型undefined、null、布爾型、數(shù)字和字符串,外加對(duì)象共六中類型中,只有undefined、null、布爾值中的false、數(shù)字中的0NaN,和字符串中的空字符串"",共計(jì)6種值被轉(zhuǎn)換成false, 其余的都被轉(zhuǎn)換成true

被轉(zhuǎn)換成false的集合叫假值,被轉(zhuǎn)換成true的集合就真值
由上可知,以下為假值。

undefined, null

false

0, NaN

""

所有其他的值,包括對(duì)象等都是真值。
因?yàn)?b>undefined和null都是假值,所以我們通常用于判斷一個(gè)變量x是否有值

if (x){
    // x 有值
}else{
    // x 無(wú)值
}

需要注意,上述判斷會(huì)把所有的假值解釋成“沒(méi)有值”,而不僅僅是undefinednull.
如當(dāng)x= 0時(shí),上述判斷會(huì)認(rèn)為x沒(méi)有值,實(shí)際上x是有值的,且為0.
所以上述判斷要謹(jǐn)慎使用。

轉(zhuǎn)換成布爾值的方法 自動(dòng)轉(zhuǎn)換

javscript中,凡是需要布爾值的地方,都可以提供任意類型的值,它們會(huì)自動(dòng)被轉(zhuǎn)化成相應(yīng)的布爾值。例如條件表達(dá)式或邏輯表達(dá)式中。

手動(dòng)轉(zhuǎn)換

手動(dòng)將其他類型的值轉(zhuǎn)換成布爾值有以下三種方法

1. Boolean(value) //使用Boolean函數(shù),此處作為一個(gè)普通函數(shù)被調(diào)用,而不是構(gòu)造函數(shù)。
2. value ? true : false
3. !! value  //使用兩次非運(yùn)算符,將其轉(zhuǎn)換成對(duì)應(yīng)的布爾類型。

三種方法都很常用,其中最好使用Boolean(value)這個(gè)方法,直觀又方便。

下面來(lái)看一些將其他類型轉(zhuǎn)換成布爾類型的例子。

undefined

> Boolean(undefined)
false

null

> Boolean(null)
false

boolean

> Boolean(false)
false
> Boolean(true)
true

數(shù)字

> Boolean(0)
false
> Boolean(133)
true
> Boolean(NaN)
false

字符串

> Boolean("")
false
> Boolean("dd")
true
> Boolean(" ")    //注意,空格字符串不是空字符
true
> Boolean("false")
true

對(duì)象

所用的對(duì)象都轉(zhuǎn)化成 true.

> Boolean([])
true
> Boolean({})
true
> Boolean(new Boolean(false))    //new Boolean(false)得到是一個(gè)boolean型object.
true
> Boolean(new Number(0))    //同上
true
> Boolean(new String(""))    //同上
true

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/91080.html

相關(guān)文章

  • javascript系列】Boolean對(duì)象Boolean函數(shù)

    摘要:返回對(duì)象的原始值。函數(shù)函數(shù)有兩種調(diào)用方式作為普通函數(shù)調(diào)用,作為構(gòu)造函數(shù)調(diào)用,函數(shù)作為普通函數(shù)調(diào)用語(yǔ)法參數(shù)可選,任意類型的值。 Boolean對(duì)象 Boolean對(duì)象是一個(gè)包裝了布爾值的對(duì)象(實(shí)例). 查看Boolean對(duì)象初始值的方法 Boolean對(duì)象.valueOf() //所有Boolean實(shí)例都繼承于 Boolean.prototype. Boolean原始值與Boo...

    BearyChat 評(píng)論0 收藏0
  • JavaScript基礎(chǔ)系列--數(shù)據(jù)類型類型判斷

    摘要:中有五種基本數(shù)據(jù)類型,以及一種復(fù)雜引用類型數(shù)據(jù)類型,中還細(xì)分了很多具體的類型,比如等等中又新增了一種類型。類型的數(shù)值范圍是,超出這個(gè)范圍的值為,可以使用函數(shù)來(lái)判斷數(shù)值是否在范圍內(nèi)。 ECMAScript5中有五種基本數(shù)據(jù)類型:Undefined,Null,Boolean,Number,String,以及一種復(fù)雜(引用類型)數(shù)據(jù)類型:Object,Object中還細(xì)分了很多具體的類型,比...

    duan199226 評(píng)論0 收藏0
  • JavaScript疑難雜癥系列-相等性判斷

    摘要:同一類的復(fù)合類型值兩個(gè)復(fù)合類型對(duì)象數(shù)組函數(shù)的數(shù)據(jù)比較時(shí),不是比較它們的值是否相等,而是比較它們是否指向同一個(gè)對(duì)象。寬松相等雙等號(hào)將執(zhí)行類型轉(zhuǎn)換原始類型的值原始類型的數(shù)據(jù)會(huì)轉(zhuǎn)換成數(shù)值類型再進(jìn)行比較。 事件這塊知識(shí)點(diǎn)雖然是老生長(zhǎng)談的,但對(duì)于我來(lái)說(shuō)多多整理,多多感悟,溫故知新,每次看看這塊都有不同的收獲.(在這里我不會(huì)長(zhǎng)篇大論,只會(huì)挑重點(diǎn);具體的小伙伴們自行查找)參考:https://dev...

    Flink_China 評(píng)論0 收藏0
  • JavaScript疑難雜癥系列-相等性判斷

    摘要:同一類的復(fù)合類型值兩個(gè)復(fù)合類型對(duì)象數(shù)組函數(shù)的數(shù)據(jù)比較時(shí),不是比較它們的值是否相等,而是比較它們是否指向同一個(gè)對(duì)象。寬松相等雙等號(hào)將執(zhí)行類型轉(zhuǎn)換原始類型的值原始類型的數(shù)據(jù)會(huì)轉(zhuǎn)換成數(shù)值類型再進(jìn)行比較。 事件這塊知識(shí)點(diǎn)雖然是老生長(zhǎng)談的,但對(duì)于我來(lái)說(shuō)多多整理,多多感悟,溫故知新,每次看看這塊都有不同的收獲.(在這里我不會(huì)長(zhǎng)篇大論,只會(huì)挑重點(diǎn);具體的小伙伴們自行查找)參考:https://dev...

    2bdenny 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<