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

資訊專欄INFORMATION COLUMN

JavaScript 類型轉(zhuǎn)換

cod7ce / 547人閱讀

摘要:如果轉(zhuǎn)換的結(jié)果是,則調(diào)用對象的方法,然后再次依照前面的規(guī)則轉(zhuǎn)換返回的字符串值。

to Number parseInt()

僅針對字符串

轉(zhuǎn)換規(guī)則:

1. 忽略字符串前面的空格,直到找到第一個非空格符

2. 如果第一個字符不是數(shù)字或負號,返回 NaN

    parseInt("") => NaN

3. 如果第一個字符是數(shù)字字符,繼續(xù)解析第二個字符,直到解析完所有后續(xù)字符或遇到一個非數(shù)字字符

    parseInt("9527great") => 9527
    parseInt("11.4") => 11

4. 可以識別出各種整數(shù)字符(十進制、八進制、十六進制)

    parseInt("0xA") => 10
    parseInt("070") => 56

    在解析八進制時,ES3 和 ES5 存在分歧,為消除不必要的麻煩,建議傳入第二個參數(shù)以表示轉(zhuǎn)換時使用的基數(shù)(即進制數(shù))

    parseInt("070",  8) => 56   // 當(dāng)作八進制數(shù)來解析
    parseInt("070", 10) => 70   // 當(dāng)作十進制數(shù)來解析
parseFloat()

僅針對字符串

轉(zhuǎn)換規(guī)則:

1. 忽略字符串前面的空格,直到找到第一個非空格符

2. 如果第一個字符不是數(shù)字或負號,返回 NaN

    parseFloat("") => NaN

3. 從位置 0 開始解析每個字符,一直解析到字符串末尾,或解析遇到一個無效的浮點數(shù)字符為止

    parseFloat("9527.23great") => 9527.23

4. 第一個小數(shù)點有效,第二個小數(shù)點無效

    parseFloat("22.34.56") => 22.34

5. 始終會忽略前導(dǎo)的 0

    parseFloat("0729.4") => 729.4

6. 只解析十進制整數(shù)格式

    無第二個參數(shù)指定基數(shù)的用法
    十六進制格式的字符串始終會被解析成 0

    parseFloat("0xF") => 0
    parseFloat("3.12e7") => 31200000
Number()

boolean

Number(true)  => 1
Number(false) => 0

number

只是簡單的傳入與傳出

Number(2) => 2

null

Number(null) => 0

undefined

Number(undefined) => NaN

string

1. 只包含數(shù)字,將其轉(zhuǎn)換為十進制

    Number("1") => 1
    Number("011") => 11

2. 包含有效的浮點格式,將其轉(zhuǎn)換為對應(yīng)的浮點數(shù)值

    Number("1.1") => 1.1
    Number("02.3") => 2.3

3. 包含有效的十六進制格式,將其轉(zhuǎn)換為相同大小的十進制數(shù)

    Number("0xf") => 15

4. 空字符串,將其轉(zhuǎn)換為 0

    Number("") => 0

5. 其它格式字符串,將其轉(zhuǎn)換為 NaN

    Number("2.2a") => NaN

對象

如果是對象,則調(diào)用對象的 valueOf() 方法,然后依照前面的規(guī)則轉(zhuǎn)換返回的值。
如果轉(zhuǎn)換的結(jié)果是 NaN,則調(diào)用對象的 toString() 方法,然后再次依照前面的規(guī)則轉(zhuǎn)換返回的字符串值。

Number({}) => NaN    過程:{}.toString() => "[object Object]" => NaN

隱式轉(zhuǎn)換

等價于 Number(x)

+x

x - 0

to String toString()

number、boolean、object、string 都有 toString() 方法

數(shù)值的 toString() 方法可以傳遞一個參數(shù)指定輸出數(shù)值的基數(shù)

null 和 undefined 沒有 toString() 方法

String()

String() 轉(zhuǎn)型函數(shù)能夠?qū)⑷魏晤愋偷闹缔D(zhuǎn)換為字符串

轉(zhuǎn)換規(guī)則

1. 如果值有 toString() 方法,則調(diào)用該方法并返回相應(yīng)的結(jié)果

2. 如果值是 null,則返回 "null"

3. 如果值是 undefined,則返回 "undefined"

隱式轉(zhuǎn)換

等價于 String(x)

x + ""

Number to String

toFixed()

toExponential()

toPrecision()

to Boolean Boolean()

boolean

Boolean(true)  => true
Booelan(false) => false

string

Boolean("") => false
Boolean("非空字符") => true

number

Boolean(0)   => false
Boolean(NaN) => false
Boolean(非零數(shù)字值) => true

object

Boolean(null) => false
Boolean(任何對象) => true

undefined

Boolean(undefined) => false

隱式轉(zhuǎn)換

等價于 Boolean(x)

!!x

轉(zhuǎn)換為字符串 數(shù)字 布爾值 對象
undefined "undefined" NaN false throws TypeError
null "null" 0 false throws 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")
"one" NaN true new String("one")
0 "0" false new Number(0)
-0 "0" false new Number(-0)
NaN "NaN" false Number(NaN)
Infinity "Infinity" true new Number(Infinity)
-Infinity "-Infinity" true new Number(-Infinity)
1 "1" true new Number(1)
{}(任意對象) true
[](任意數(shù)組) "" 0 true
[9](1個數(shù)字元素) "9" 9 true
["a"](其他數(shù)組) 使用 join() 方法 NaN true
function(){}(任意函數(shù)) NaN true

參考資料:

《JavaScript 權(quán)威指南》 (第6版) [美].David Flanagan著 淘寶前端團隊譯
《JavaScript 高級程序設(shè)計》 (第3版) [美].Nicholas C.Zakas著 李松峰 曹力譯

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

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

相關(guān)文章

  • JavaScript隱式類型轉(zhuǎn)換

    摘要:所謂裝箱轉(zhuǎn)換,正是把基本類型轉(zhuǎn)換為對應(yīng)的對象,他是類型轉(zhuǎn)換中一種相當(dāng)重要的種類。拆箱轉(zhuǎn)換在標準中,規(guī)定了函數(shù),它是對象類型到基本類型的轉(zhuǎn)換即,拆箱轉(zhuǎn)換。拆箱轉(zhuǎn)換會嘗試調(diào)用和來獲得拆箱后的基本類型。 JavaScript隱式類型轉(zhuǎn)換 基本數(shù)據(jù)類型 ECMAScript 一共定義了七種 build-in types,其中六種為 Primitive Value,Null, Undefined...

    bingo 評論0 收藏0
  • 數(shù)據(jù)類型 - Javascript語法基礎(chǔ) - Javascript核心

    摘要:在編程語言中,能夠表示并操作的值的類型稱做數(shù)據(jù)類型。中的原始類型包括數(shù)字,字符串和布爾值。日期與時間語言核心包括構(gòu)造函數(shù),用來創(chuàng)建表示日期和時間的對象。其規(guī)則為如果是布爾值,和分別被轉(zhuǎn)換為和如果是數(shù)字值,返回本身。 源代碼: https://github.com/RobinQu/Programing-In-Javascript/blob/master/chapters/Javas...

    sevi_stuo 評論0 收藏0
  • JavaScript 中的強制類型轉(zhuǎn)換

    摘要:完整清單是中添加,此處不予介紹布爾值用來表示可能是真或假的值。結(jié)果抽象比較運算符在比較它們之前在類型之間進行自動轉(zhuǎn)換。中的隱式轉(zhuǎn)換稱為強制類型轉(zhuǎn)換,并在規(guī)范中定義。這些內(nèi)置類型可用于在不同類型之間進行顯式轉(zhuǎn)換。 翻譯:瘋狂的技術(shù)宅原文:https://www.valentinog.com/bl... 本文首發(fā)微信公眾號:前端先鋒歡迎關(guān)注,每天都給你推送新鮮的前端技術(shù)文章 show...

    endiat 評論0 收藏0
  • JavaScript核心語法——數(shù)據(jù)類型

    摘要:原始類型分別有類型類型和類型三種。類型中存在一個特殊的值叫。也可以把其他類型的數(shù)據(jù)自動轉(zhuǎn)換為類型運算符運算符判斷原始類型語法結(jié)構(gòu)變量名稱。 數(shù)據(jù)類型 1.數(shù)據(jù)類型的概述;在JavaScript代碼中,能夠表示并且操作值的類型就叫做數(shù)據(jù)類型數(shù)據(jù)類型可以分成可變類型和不可變類型,可變類型的值是可以修改的。相反不可變類型的值是不可以修改的。數(shù)據(jù)類型還有原始類型(原始值)與引用類型(內(nèi)置對象)...

    wfc_666 評論0 收藏0
  • Front-end developmenter必看,超實用的javaScript隱式類型轉(zhuǎn)換規(guī)則記憶

    摘要:下面先看看涉及到的幾個函數(shù)以及他們的轉(zhuǎn)換規(guī)則,這個是需要記憶的內(nèi)容類型轉(zhuǎn)換需要使用到的函數(shù)對于布爾值用到的是對于數(shù)值,用到的是當(dāng)然還有但是對于隱式類型轉(zhuǎn)換的時候,調(diào)用的是前者。 javaScript類型轉(zhuǎn)換規(guī)則 javaScript的類型轉(zhuǎn)換其實一直是很多前端開發(fā)人員很迷的地方,一會兒這里要轉(zhuǎn)換,一會兒那里又要轉(zhuǎn)換,總之就是一個大寫的迷,因為它隱式類型轉(zhuǎn)換的地方實在是太多了。 但其實...

    fuchenxuan 評論0 收藏0
  • JavaScript類型轉(zhuǎn)換的迷糊事兒

    摘要:下面分幾步來簡單的探探不同類型的轉(zhuǎn)換吧以下的內(nèi)容,都可以從權(quán)威指南中找到。其他值轉(zhuǎn)換成在編寫代碼的過程中,幾乎不用考慮它的取值類型。核心內(nèi)置類,會嘗試先于可以理解為對象優(yōu)先轉(zhuǎn)換成數(shù)字例外的是,利用的是轉(zhuǎn)換。 最近在寫公司的登錄注冊模塊,遇到類型不同相比較的時候,就心驚膽戰(zhàn),每次都要用瀏覽器來驗證一下,決定亂七八糟的隨便寫一下,方便日后自己回顧知識~ 弱類型帶來的那些讓人迷糊的事 弱類型...

    harriszh 評論0 收藏0

發(fā)表評論

0條評論

cod7ce

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<