<em id="09ttv"></em>
    <sup id="09ttv"><pre id="09ttv"></pre></sup>
    <dd id="09ttv"></dd>

        • JS中數據類型轉換

          2020-3-19    seo達人

          JS中數據類型轉換

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



          數據的類型:

          字符串:若值為字符串,則顯示為String。字符串使用單引號或雙引號括起來。在控制臺顯示為黑色。

          數字:若值為數字,則顯示為Number。在控制臺顯示為藍色。

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

          對象:若值為對象,則顯示為Object。

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

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



          以下表格詳細寫出了各種情況下相互轉換的結果,可作為輔助記憶。



          轉換為字符串 轉換為數字 轉換為布爾值 轉換為對象

          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中,數據類型可以相互轉換,轉換的方式有兩種,隱式轉換和強制轉換,首先來說一些隱式轉換。在進行代碼書寫時,要經常提醒自己所使用的元素是什么數據類型,在進行某些操作后是否會導致數據類型的變化,原因就是Js會對數據進行類型的隱式轉換。



          隱式轉換舉例:

          (+)加法運算的隱式轉換:加號兩邊只要出先了字符串,就自動將兩者均轉化為字符串,使兩個字符串發生“拼接”,最后生成的結果也是一個字符串;如果前后都不是字符串,則轉化為數字類型進行計算。



          (-、*、/、%)其他算數運算的隱式轉換:前后都轉化為數字類型進行計算。



          (!)邏輯非的隱式轉換:他會將他后面的變量或表達式轉換為布爾值。



          (<,>)比較運算符的轉換:如果前后存在一個數字,會對另一個轉化為數字進行比較;如果前后均為字符串,會依次比較對應字符的編碼大小,老大比老大,老二比老二,依次進行。



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



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



          強制轉換的方式:

          1.轉化為字符串

          String(里面寫待轉化的內容):沒什么好解釋的,就是強制將你所看到的轉化為你所看到的。

          toString(里面寫目標數字是幾進制),寫法為:待轉化內容.toString(目標內容是幾進制)。括號內不寫時默認為10。

          toFixed(保留小數的位數),寫法為待轉化內容.toFixed(保留小數的位數),存在精度誤差。



          2.轉化為數字

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

          parseInt(待轉化內容,待轉化內容的進制方式),與toString互為逆運算,不寫的話默認為10。如果待轉化內容為字符串,若以數字開頭,可以從開始轉換到字符前為止變成數值。布爾值,undefined,null經過轉化均為NaN。

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



          3.轉化為布爾值

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


          日歷

          鏈接

          個人資料

          藍藍設計的小編 http://m.sdgs6788.com

          存檔

          国产精品久久久久免费a∨| 亚洲国产精品一区二区三区久久| 久久亚洲AV无码精品色午夜麻豆 | 久久久久亚洲av成人网人人软件 | 久久久国产亚洲精品| 久久99精品久久久久久9蜜桃| 久久久www免费人成精品| 九九久久99综合一区二区| 久久久久久久综合狠狠综合| 久久久久人妻精品一区二区三区| 亚洲精品美女久久久久99小说| 亚洲av日韩精品久久久久久a| 亚洲精品综合久久| 久久青青草原综合伊人| 999久久久免费国产精品播放| 久久久精品免费国产四虎| 国产美女亚洲精品久久久综合| 久久亚洲中文字幕精品一区| 99久久精品免费观看国产| 久久天天躁狠狠躁夜夜96流白浆| 久久人妻少妇嫩草AV无码专区| 久久996热精品xxxx| 久久精品国产亚洲网站| 久久久久久久亚洲Av无码| 亚洲国产成人乱码精品女人久久久不卡 | 亚洲中文字幕无码久久精品1| 久久精品免费大片国产大片| 久久精品中文字幕一区| 国产成人精品久久亚洲| 久久综合成人网| 97久久婷婷五月综合色d啪蜜芽 | 久久精品中文騷妇女内射| 狠狠色丁香久久婷婷综合| 精品多毛少妇人妻AV免费久久 | 国产精品久久精品| 久久综合伊人77777麻豆| 一本久久a久久精品综合夜夜| 国产午夜久久影院| 色综合久久88色综合天天| 伊人丁香狠狠色综合久久| 国产99久久久国产精免费|