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

資訊專欄INFORMATION COLUMN

詳細(xì)解釋parseInt

jindong / 537人閱讀

摘要:舉例,如果以開頭,會把的其余部分解析為十六進(jìn)制的整數(shù)。如果以開頭,那么允許的一個實現(xiàn)把其后的字符解析為八進(jìn)制或十六進(jìn)制的數(shù)字。

[‘1’, ‘2’, ‘3’].map(parseInt)結(jié)果是什么?

我們先將代碼轉(zhuǎn)化成常規(guī)的樣子,

[‘1’,‘2’,‘3’].map(function(item, index){return parseInt(item,index)})

也就是 結(jié)果是[parseInt("1",0), parseInt("2",1), parseInt("3", 2)]

接下來我們就來看看parseInt,parseInt第一個參數(shù)是接下來要轉(zhuǎn)化的數(shù)據(jù), 第二個參數(shù)是轉(zhuǎn)化的基數(shù),這個基數(shù)在2~36之間,

當(dāng)參數(shù) radix 的值為 0,或沒有設(shè)置該參數(shù)時,parseInt() 會根據(jù) string 來判斷數(shù)字的基數(shù)。

舉例,如果 string 以 "0x" 開頭,parseInt() 會把 string 的其余部分解析為十六進(jìn)制的整數(shù)。如果 string 以 0 開頭,那么 ECMAScript v3 允許 parseInt() 的一個實現(xiàn)把其后的字符解析為八進(jìn)制或十六進(jìn)制的數(shù)字。如果 string 以 1 ~ 9 的數(shù)字開頭,parseInt() 將把它解析為十進(jìn)制的整數(shù)。

    parseInt("1",0) = parseInt("1", 10) =1
    parseInt("2",1) = NaN
    parseInt("3",2) = NaN? 這個就不是很理解,為什么呢, 接下來我們分析下
parseInt是按照一個個的字符進(jìn)行解析的,

情況一: 若第一個字符不是數(shù)字或者是數(shù)字并大于基數(shù)則不用進(jìn)行接下來的操作,結(jié)果是NaN:

情況二: 第一個字符為數(shù)字且小于基數(shù),則可繼續(xù)看下一個字符, 判斷條件和情況一一致,若不符合條件則結(jié)果為parseInt("第一個字符", 基數(shù)),否則繼續(xù)看接下來的字符

綜合就是: parseInt("符合條件的字符串", 基數(shù))
例如:parseInt("17",6)=1,parseInt("17",9)=16;當(dāng)解析17時,1屬于6進(jìn)制范圍,7不屬于6進(jìn)制范圍,當(dāng)string的數(shù)字小于radix時(7<6),它會只解析到它的上一位,
即 parseInt("17",6) = parseInt("1",6) = 1;

這樣我們就很容易明白為啥parseInt("3", 2) = NaN

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

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

相關(guān)文章

  • 透徹研究Javascript類型轉(zhuǎn)換

    摘要:注釋空數(shù)組空對象轉(zhuǎn)換為布爾型也是坑。系統(tǒng)會在自動類型轉(zhuǎn)換的時候調(diào)用他們,所以我們通常不需要手動調(diào)用他們。嚴(yán)格相等不存在類型轉(zhuǎn)換,對于類型不同的兩個值直接返回。 Javascript 中有5種基本類型(不包括 symbol),以及對象類型,他們在不同的運算中會被系統(tǒng)轉(zhuǎn)化為不同是類型,當(dāng)然我們也可以手動轉(zhuǎn)化其類型。 Javascript 類型轉(zhuǎn)換中的坑極多,就連 Douglas Crock...

    dailybird 評論0 收藏0
  • Java 8 vs. Scala(一): Lambda表達(dá)式

    摘要:編程語言將函數(shù)作為一等公民,函數(shù)可以被作為參數(shù)或者返回值傳遞,因為它被視為對象。是表示已注釋接口是函數(shù)接口的注釋。如果一個函數(shù)有一個或多個參數(shù)并且有返回值呢為了解決這個問題,提供了一系列通用函數(shù)接口,在包里。 【編者按】雖然 Java 深得大量開發(fā)者喜愛,但是對比其他現(xiàn)代編程語言,其語法確實略顯冗長。但是通過 Java8,直接利用 lambda 表達(dá)式就能編寫出既可讀又簡潔的代碼。作者...

    yuanxin 評論0 收藏0
  • 【JS. ES5重點筆記】數(shù)據(jù)類型

    摘要:是最特殊的類型,表示沒有意義的數(shù),例如。十六進(jìn)制數(shù)八進(jìn)制數(shù)十進(jìn)制數(shù)十六進(jìn)制數(shù)對于部分情況,和存在分歧。例如,表示希臘字符關(guān)于字符串的轉(zhuǎn)換,其實核心就是函數(shù),如果是數(shù)字型,還可以添加參數(shù),使之變?yōu)槎M(jìn)制八進(jìn)制十進(jìn)制十六進(jìn)制數(shù)。 雖然目前已經(jīng)算是ES6的時代,然是ES5的尾巴仍在眾多框架中出現(xiàn),JS我雖然通過視頻等方式學(xué)習(xí),曾經(jīng)做過項目,但是仍對部分細(xì)節(jié)和原理不了解,通過閱讀這本書,希望能...

    Yu_Huang 評論0 收藏0
  • 一些冷門的js操作

    摘要:突然有一天,發(fā)現(xiàn)了一些基于很基礎(chǔ)的東西的騷操作,就開始懷疑人生如果沒有遇到被某些東西打擊到或者見識到新的世界,可能永遠(yuǎn)的,就感嘆真好用,我精通,精通。最后,就相當(dāng)于對每一個元素進(jìn)行,,,,位操作符基本用法和概念就不說了,自行看文檔。 本文來源于我的github 0.前言 大家學(xué)習(xí)的時候,一開始小白,然后接觸到進(jìn)階的東西的時候,發(fā)現(xiàn)一切得心應(yīng)手,有的人可能開始說精通了。突然有一天,發(fā)現(xiàn)...

    ckllj 評論0 收藏0
  • JavaScript選擇題解答(1-20)

    摘要:最近做了個上的的測試題目地址,錯了一大堆,感覺的概念還有很多不是很清晰,這里記錄一下個人博客文章地址第一題解答這里考的是的用法。如果出現(xiàn)的數(shù)字不符合后面輸入的進(jìn)制,則為,所以第二個值為。 最近做了個heroku上的JavaScript的測試(題目地址),錯了一大堆,感覺js的概念還有很多不是很清晰,這里記錄一下 個人博客文章地址 第一題 What is the result of...

    Worktile 評論0 收藏0

發(fā)表評論

0條評論

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