摘要:字符串轉(zhuǎn)為數(shù)字前言面試有點(diǎn)小尷尬一和規(guī)則忽略字符串前面的空格,直至找到第一個非空字符如果第一個非空字符不是數(shù)字或者是正負(fù)號則返回如果第一個是數(shù)字字符一直解析到一個非數(shù)字字符如果第一個是數(shù)字字符,能識別出各種整數(shù)格式接受第二個參數(shù),即轉(zhuǎn)換時使
字符串轉(zhuǎn)為數(shù)字
前言:面試有點(diǎn)小尷尬(1)
一、parseInt() 和 Number.parseInt()規(guī)則:
1.忽略字符串前面的空格,直至找到第一個非空字符
2.如果第一個非空字符不是數(shù)字或者是正負(fù)號則返回NaN
3.如果第一個是數(shù)字字符一直解析到一個非數(shù)字字符
4.如果第一個是數(shù)字字符,能識別出各種整數(shù)格式
5.接受第二個參數(shù),即轉(zhuǎn)換時使用的基數(shù)
6.小數(shù)向下取整
Number.parseInt(" 123") // 123 Number.parseInt(" ab123") // NaN Number.parseInt("") // NaN Number.parseInt(" 31avs") // 31 Number.parseInt("0xf") // 15 Number.parseInt("070") // es3->56 es5->70 Number.parseInt("A", 16) // 10 Number.parseInt("A") // NaN Number.parseInt("58.2") // 58二、parseFloat() 和 Number.parseFloat()
規(guī)則
1.忽略字符串前面的空格,直至找到第一個非空字符
2.如果第一個非空字符不是數(shù)字或者是正負(fù)號則返回NaN
3.如果第一個是數(shù)字字符一直解析到一個非數(shù)字字符
4.字符串中第一個小數(shù)點(diǎn)是有效的第二個小數(shù)點(diǎn)是無效的
5.只解析10進(jìn)制,不接受第二個參數(shù)
Number.parseFloat(" 123") // 123 Number.parseFloat(" ab123") // NaN Number.parseFloat("") // NaN Number.parseFloat(" 123.3.4eqw") // 123.3 Number.parseFloat("0xf") // 0三、Number()
規(guī)則
1.如果是Boolean值,true和false分別返回1或0
2.如果是數(shù)字,只是單純的傳入和返回
3.如果是null,則返回0
4.如果是undefined返回NaN
5.如果是字符串
①如果字符串味空則返回零(忽略前導(dǎo)零)
②如果字符串為整數(shù)則返回整數(shù)(忽略前導(dǎo)零)
③如果字符串為浮點(diǎn)數(shù)則返回浮點(diǎn)數(shù)
④如果字符串為16進(jìn)制,轉(zhuǎn)為10進(jìn)制返回
⑤除以上格式返回NaN
6.如果是對象,則調(diào)用對象的valueOf,按照前面的規(guī)則返回值,如果返回NaN,再調(diào)用toString(),按照前面的規(guī)則返回值
Number(true) // 1 Number(false) // 0 Number(null) // 0 Number(undefined) // 0 Number("") // 0 Number("123") // 123 Number("123.12") // 123.12 Number("0xf") // 16
在github上編輯此頁
博主的個人博客
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/93404.html
摘要:簡單說中的與方法我們一句一句的看結(jié)果是邏輯非,會將操作數(shù)的布爾值求反,而就是類型轉(zhuǎn)換,將對應(yīng)的類型轉(zhuǎn)換為型所以我們看一看,一次求反返回的就是,再求反返回的就是。原始值不可變更的值,包括布爾值數(shù)字和字符串。 說明 直接說出問題 !![] == true //結(jié)果是true [] == true //結(jié)果是false ![] == [] //結(jié)果是true 為什么會出現(xiàn)這種情...
摘要:簡單說中的與方法我們一句一句的看結(jié)果是邏輯非,會將操作數(shù)的布爾值求反,而就是類型轉(zhuǎn)換,將對應(yīng)的類型轉(zhuǎn)換為型所以我們看一看,一次求反返回的就是,再求反返回的就是。原始值不可變更的值,包括布爾值數(shù)字和字符串。 說明 直接說出問題 !![] == true //結(jié)果是true [] == true //結(jié)果是false ![] == [] //結(jié)果是true 為什么會出現(xiàn)這種情...
摘要:簡單說中的與方法我們一句一句的看結(jié)果是邏輯非,會將操作數(shù)的布爾值求反,而就是類型轉(zhuǎn)換,將對應(yīng)的類型轉(zhuǎn)換為型所以我們看一看,一次求反返回的就是,再求反返回的就是。原始值不可變更的值,包括布爾值數(shù)字和字符串。 說明 直接說出問題 !![] == true //結(jié)果是true [] == true //結(jié)果是false ![] == [] //結(jié)果是true 為什么會出現(xiàn)這種情...
摘要:所以無論還是都會進(jìn)行類型轉(zhuǎn)換,唯一的區(qū)別,就是會置否而不會。這時候,肯定會有人問,假如說我有其他的數(shù)據(jù)類型呢,又不是數(shù)字又不是字符串,比如說數(shù)組啊,對象啊,布爾值啥的,那么如果是引用數(shù)據(jù)類型,則先轉(zhuǎn)為基本數(shù)據(jù)類型,再進(jìn)行比較。 上一章主要講了轉(zhuǎn)換到數(shù)字,字符串和布爾類型的一些知識點(diǎn),那么這一講接著上面的繼續(xù)講。 思考下面這個問題: console.log(+123); // 123 ...
閱讀 691·2023-04-25 22:50
閱讀 1529·2021-10-08 10:05
閱讀 984·2021-09-30 09:47
閱讀 1917·2021-09-28 09:35
閱讀 821·2021-09-26 09:55
閱讀 3412·2021-09-10 10:51
閱讀 3428·2021-09-02 15:15
閱讀 3293·2021-08-05 09:57