摘要:舉例,如果以開頭,會把的其余部分解析為十六進(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;
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/106202.html
摘要:注釋空數(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...
摘要:編程語言將函數(shù)作為一等公民,函數(shù)可以被作為參數(shù)或者返回值傳遞,因為它被視為對象。是表示已注釋接口是函數(shù)接口的注釋。如果一個函數(shù)有一個或多個參數(shù)并且有返回值呢為了解決這個問題,提供了一系列通用函數(shù)接口,在包里。 【編者按】雖然 Java 深得大量開發(fā)者喜愛,但是對比其他現(xiàn)代編程語言,其語法確實略顯冗長。但是通過 Java8,直接利用 lambda 表達(dá)式就能編寫出既可讀又簡潔的代碼。作者...
摘要:是最特殊的類型,表示沒有意義的數(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é)和原理不了解,通過閱讀這本書,希望能...
摘要:最近做了個上的的測試題目地址,錯了一大堆,感覺的概念還有很多不是很清晰,這里記錄一下個人博客文章地址第一題解答這里考的是的用法。如果出現(xiàn)的數(shù)字不符合后面輸入的進(jìn)制,則為,所以第二個值為。 最近做了個heroku上的JavaScript的測試(題目地址),錯了一大堆,感覺js的概念還有很多不是很清晰,這里記錄一下 個人博客文章地址 第一題 What is the result of...
閱讀 3160·2021-10-08 10:04
閱讀 1102·2021-09-30 09:48
閱讀 3470·2021-09-22 10:53
閱讀 1690·2021-09-10 11:22
閱讀 1702·2021-09-06 15:00
閱讀 2158·2019-08-30 15:56
閱讀 721·2019-08-30 15:53
閱讀 2293·2019-08-30 13:04