日本一区二区三区在线播放-国产视频一-美女黄网站成人免费视频-奇米中文字幕-日本少妇xxxxx-九九精品99-国产人碰人摸人爱视频-欧美亚洲网站-国产艳妇av在线-在线av网站-久久a久久-可以免费看黄色的网站-国产视频一二-在线播放视频高清在线观看-男人的天堂av网站-久久一二三区-欧美日韩综合一区二区

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

2020-3-19    seo達人

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

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



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

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

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

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

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

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

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



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



轉換為字符串 轉換為數(shù)字 轉換為布爾值 轉換為對象

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



隱式轉換舉例:

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



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



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



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



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



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



強制轉換的方式:

1.轉化為字符串

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

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

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



2.轉化為數(shù)字

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

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

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



3.轉化為布爾值

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


日歷

鏈接

個人資料

藍藍設計的小編 http://www.vcbhc.cn

存檔

高平市| 哈尔滨市| 大庆市| 平乐县| 抚松县| 错那县| 汪清县| 安平县| 惠来县| 涿鹿县| 宁陵县| 关岭| 永康市| 福海县| 南宫市| 进贤县| 封丘县| 华池县| 饶平县| 遂溪县| 筠连县| 沈丘县| 三台县| 重庆市| 玛沁县| 昆山市| 西和县| 新泰市| 东乡县| 温宿县| 蚌埠市| 阳春市| 慈利县| 二手房| 宜君县| 武强县| 绥滨县| 丰原市| 绥滨县| 长兴县| 平原县|