摘要:我今天提了個問題提完之后才發(fā)現(xiàn)是自己蠢了,理解不到位。如等價于等價于第二個參數(shù)可選,是你告訴這個函數(shù),你的輸入其實(shí)是幾進(jìn)制的,讓它把這個輸入轉(zhuǎn)化為十進(jìn)制的值。如果開頭第一個就不是有效字符,直接返回。
我今天提了個問題:https://segmentfault.com/q/10...
提完之后才發(fā)現(xiàn)是自己蠢了,理解不到位。
parseInt(string, radix);把字符串轉(zhuǎn)化為整數(shù)第一個參數(shù)必須,是要轉(zhuǎn)換為整數(shù)的字符串,如果第一個參數(shù)不是字符串,會調(diào)用toString()先轉(zhuǎn)化為字符串。如parseInt(070)等價于parseInt(070.toString())等價于parseInt("56").
第二個參數(shù)可選,是你告訴這個函數(shù),你的輸入其實(shí)是幾進(jìn)制的,讓它把這個輸入轉(zhuǎn)化為十進(jìn)制的值。如果不寫,默認(rèn)為10.比如parseInt("56", 8),你告訴函數(shù)這個"56"是八進(jìn)制的,讓它輸出十進(jìn)制的數(shù)值,于是:5*8+6=46。
我理解不到位的地方,就是我以為第二個參數(shù)是告訴函數(shù),輸出應(yīng)該是幾進(jìn)制的,我以為parseInt("56", 8)是會輸出一個八進(jìn)制的數(shù),這是不對的。
一句話:字符串從左到右挨個遍歷,每個字符必須是這個進(jìn)制內(nèi)的有效字符(第一位可以是負(fù)號"-"),如果不是,就停止,然后轉(zhuǎn)化所有有效的字符。如果開頭第一個就不是有效字符,直接返回NaN。
好像很難懂?看例子就容易明白了:
parseInt("1234blue");// 1234 parseInt("1234blue", 16);// 74571 parseInt("b123");// NaN
第一個parseInt,沒有指定radix,默認(rèn)為10,于是十進(jìn)制的有效字符是:0123456789,所以它遍歷到"b"就停止了,輸出1234.
第二個parseInt,指定radix為16,十六進(jìn)制的有效字符是:0123456789abcdef,所以它遍歷到"l"才停止,截取的字符串是1234b,轉(zhuǎn)化為十進(jìn)制是74571.
另外,對于parseInt()來說,小數(shù)點(diǎn)不是有效字符:parseInt("22.5")// 22
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/86856.html
摘要:第一題為的返回值。返回值其中的每個元素均為關(guān)聯(lián)的原始數(shù)組元素的回調(diào)函數(shù)返回值的新數(shù)組。修改數(shù)組對象數(shù)組對象可由回調(diào)函數(shù)修改。方法啟動后的條件元素是否傳遞給回調(diào)函數(shù)在數(shù)組的原始長度之外添加元素。 JavaScript Puzzlers! 被稱為 javascript 界的專業(yè)八級測驗(yàn),感興趣的 jser 可以去試試。 我試了一下, 36 道題只做對了 19 道, 算下來正確率為 53%,...
摘要:舉例,如果以開頭,會把的其余部分解析為十六進(jìn)制的整數(shù)。如果以開頭,那么允許的一個實(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é)果是[...
摘要:如題先陳述下問題背景偶爾測測自己寫的計算器,隨便輸入玩嘛,然后發(fā)生下面詭異的事情當(dāng)我從一個輸入到十個的時候,過程顯示都是正確的,像這樣繼續(xù)輸入一個的時候,然后就這個樣子了什么原因呢看了下自己的代碼,代碼重要部分長這樣的這里用了一下強(qiáng)制轉(zhuǎn)化為 如題 先陳述下問題背景 偶爾測測自己寫的計算器,隨便輸入玩嘛,然后發(fā)生下面詭異的事情:當(dāng)我從一個 1 輸入到十個 1 的時候,過程顯示都是正確的...
閱讀 551·2021-10-09 09:57
閱讀 571·2019-08-29 18:39
閱讀 901·2019-08-29 12:27
閱讀 3110·2019-08-26 11:38
閱讀 2777·2019-08-26 11:37
閱讀 1359·2019-08-26 10:59
閱讀 1460·2019-08-26 10:58
閱讀 1053·2019-08-26 10:48