<strike id="cy2gs"><menu id="cy2gs"></menu></strike>
  • <del id="cy2gs"><dfn id="cy2gs"></dfn></del>
  • JS中數(shù)據(jù)類型轉(zhuǎn)換

    2020-3-19    seo達(dá)人

    JS中數(shù)據(jù)類型轉(zhuǎn)換

    目前為止,我了解到的JavaScript中共有6種類型。通過(guò)typeof關(guān)鍵字可以查看類型名稱。



    數(shù)據(jù)的類型:

    字符串:若值為字符串,則顯示為String。字符串使用單引號(hào)或雙引號(hào)括起來(lái)。在控制臺(tái)顯示為黑色。

    數(shù)字:若值為數(shù)字,則顯示為Number。在控制臺(tái)顯示為藍(lán)色。

    布爾值:若值為布爾值,則顯示為Boolean。它的值只有”true”和”false”。

    對(duì)象:若值為對(duì)象,則顯示為Object。

    未定義:若值未定義,也就是僅僅聲明,但未進(jìn)行賦值,則顯示為Undefined。

    空值:若值為指向不引用對(duì)象的指針,則顯示為Null,它與Undefined不同,以后慢慢深入了解。



    以下表格詳細(xì)寫出了各種情況下相互轉(zhuǎn)換的結(jié)果,可作為輔助記憶。



    轉(zhuǎn)換為字符串 轉(zhuǎn)換為數(shù)字 轉(zhuǎn)換為布爾值 轉(zhuǎn)換為對(duì)象

    undefined “undefined” NaN false throw TypeError

    null “null” 0 false throw TypeError

    true “true” 1 new Boolean(“true”)

    false “false” 0 new Boolean(“false”)

    “” 0 false new String("")

    “1.2” 1.2 true new String(“1.2”)

    “1.2a” NaN true new String(“1.2a”)

    “aaa” NaN true new String(“aaa”)

    0 “0” false new Number(0)

    1 “1” true new Number(1)

    NaN “NaN” false new Number(NaN)

    Infinity “Infinity” true new Number(Infinity)

    [] “” 0 true

    [9] “9” 9 true

    [“a”“b”] “a,b” NaN true

    在Js中,數(shù)據(jù)類型可以相互轉(zhuǎn)換,轉(zhuǎn)換的方式有兩種,隱式轉(zhuǎn)換和強(qiáng)制轉(zhuǎn)換,首先來(lái)說(shuō)一些隱式轉(zhuǎn)換。在進(jìn)行代碼書(shū)寫時(shí),要經(jīng)常提醒自己所使用的元素是什么數(shù)據(jù)類型,在進(jìn)行某些操作后是否會(huì)導(dǎo)致數(shù)據(jù)類型的變化,原因就是Js會(huì)對(duì)數(shù)據(jù)進(jìn)行類型的隱式轉(zhuǎn)換。



    隱式轉(zhuǎn)換舉例:

    (+)加法運(yùn)算的隱式轉(zhuǎn)換:加號(hào)兩邊只要出先了字符串,就自動(dòng)將兩者均轉(zhuǎn)化為字符串,使兩個(gè)字符串發(fā)生“拼接”,最后生成的結(jié)果也是一個(gè)字符串;如果前后都不是字符串,則轉(zhuǎn)化為數(shù)字類型進(jìn)行計(jì)算。



    (-、*、/、%)其他算數(shù)運(yùn)算的隱式轉(zhuǎn)換:前后都轉(zhuǎn)化為數(shù)字類型進(jìn)行計(jì)算。



    (?。┻壿嫹堑碾[式轉(zhuǎn)換:他會(huì)將他后面的變量或表達(dá)式轉(zhuǎn)換為布爾值。



    (<,>)比較運(yùn)算符的轉(zhuǎn)換:如果前后存在一個(gè)數(shù)字,會(huì)對(duì)另一個(gè)轉(zhuǎn)化為數(shù)字進(jìn)行比較;如果前后均為字符串,會(huì)依次比較對(duì)應(yīng)字符的編碼大小,老大比老大,老二比老二,依次進(jìn)行。



    (&&,||)邏輯運(yùn)算符的轉(zhuǎn)換:先將前后都轉(zhuǎn)化為布爾值再進(jìn)行判斷,要記住的是,只有undefined,null,0,””,NaN會(huì)轉(zhuǎn)化成為false,其他都是true。



    (== 、===)這里作為補(bǔ)充說(shuō)明,null與Undefined相等但不全等,NaN與任何都不相等。



    強(qiáng)制轉(zhuǎn)換的方式:

    1.轉(zhuǎn)化為字符串

    String(里面寫待轉(zhuǎn)化的內(nèi)容):沒(méi)什么好解釋的,就是強(qiáng)制將你所看到的轉(zhuǎn)化為你所看到的。

    toString(里面寫目標(biāo)數(shù)字是幾進(jìn)制),寫法為:待轉(zhuǎn)化內(nèi)容.toString(目標(biāo)內(nèi)容是幾進(jìn)制)。括號(hào)內(nèi)不寫時(shí)默認(rèn)為10。

    toFixed(保留小數(shù)的位數(shù)),寫法為待轉(zhuǎn)化內(nèi)容.toFixed(保留小數(shù)的位數(shù)),存在精度誤差。



    2.轉(zhuǎn)化為數(shù)字

    Number(),只有所轉(zhuǎn)化內(nèi)容在肉眼看到的全是數(shù)字,才會(huì)正常轉(zhuǎn)化;false會(huì)轉(zhuǎn)化為0,true會(huì)轉(zhuǎn)化為1;null會(huì)轉(zhuǎn)化為0;undefined會(huì)轉(zhuǎn)化為NaN;其他情況均為NaN。

    parseInt(待轉(zhuǎn)化內(nèi)容,待轉(zhuǎn)化內(nèi)容的進(jìn)制方式),與toString互為逆運(yùn)算,不寫的話默認(rèn)為10。如果待轉(zhuǎn)化內(nèi)容為字符串,若以數(shù)字開(kāi)頭,可以從開(kāi)始轉(zhuǎn)換到字符前為止變成數(shù)值。布爾值,undefined,null經(jīng)過(guò)轉(zhuǎn)化均為NaN。

    ParseFloat(),與上面一致,不贅述。



    3.轉(zhuǎn)化為布爾值

    書(shū)寫方式為Boolean(),如果上面的隱式轉(zhuǎn)換你有好好看,這里很得不需要再寫了。


    日歷

    鏈接

    個(gè)人資料

    存檔

    主站蜘蛛池模板: 午夜精品久久久久成人| 久久99精品国产麻豆| 亚洲国产精品va在线播放 | 无码aⅴ精品一区二区三区浪潮| 精品久久777| 久久久久99精品成人片欧美| 国产综合免费精品久久久| 国内精品91最新在线观看| 色偷偷88888欧美精品久久久| 精品国产呦系列在线观看免费| 国产精品久久久久影视不卡| 欧美亚洲色综久久精品国产 | 精品久久香蕉国产线看观看亚洲| 亚洲精品无码av人在线观看| 久久久精品久久久久久| 国产精品日韩深夜福利久久| 久久亚洲国产精品一区二区| 992tv精品视频tv在线观看| 麻豆aⅴ精品无码一区二区| 亚洲精品色婷婷在线影院| 久久精品国产亚洲5555| 国产福利电影一区二区三区,欧美国产成人精品一 | 国内精品久久久久影院网站 | 国产成人精品免高潮在线观看| 国产精品91在线| 99久久精品费精品国产一区二区| 久久综合久久自在自线精品自| 亚洲精品无码成人片在线观看| 免费精品精品国产欧美在线| 久久精品无码一区二区三区免费| 国产精品污WWW一区二区三区| 99久久精品免费看国产免费| 国产2021久久精品| 精品视频一区二区三区| 久久无码精品一区二区三区| 欧美国产成人久久精品| 亚洲国产精品不卡毛片a在线| 亚洲爆乳精品无码一区二区| 亚洲精品国产首次亮相| 日本内射精品一区二区视频 | 亚洲精品tv久久久久久久久久|