今天看到Chrome有更新,就å?‡级了,目å‰?最新稳定版本Chrome 25.0.1364.97 m,然å?Ž很高兴的å?‘现之å‰?的崩溃BUG居然已ç»?修å¤?了。
ä¸?过很显然新的问题å?ˆ出æ?¥了,ä¸?然就ä¸?会有这么一篇文章了,下å?ˆ在弄一个公å?¸培训的PPT,里é?¢需è¦?写到parseInt的一个ç»?典陷阱。
首先回顾一下parseInt(string, radix)当çœ?略radixå?‚数时,大致的解æž?过程:
当
string以0开头,且å?Žé?¢紧跟x时,按照parseInt(string, 16)处ç?†当
string以0开头,且å?Žé?¢紧跟é?žx时,按照parseInt(string, 8)处ç?†其余统一按照
parseInt(string, 10)处ç?†
当然强烈建议始终使用radixå?‚数
按照上é?¢的解æž?规则,parseInt('010')很自然应该返回8 ,ä¸?过奇怪的是Chorme返回的居然是10,难é?“最新版Chrome改掉了以å‰?默认的转æ?¢规则?
晚上回家å?ˆ拿Chrome 24.0.1312.56试了一下,å?‘现结果也是一样的(没有更早的版本了),看æ?¥Chrome改掉这个规则已ç»?ä¸?是一两天了,ä¸?知其他æµ?览器会ä¸?会效仿。。。
最å?Žè¶?ç?€这赶脚,å†?ç¨?微回顾一下parseInt和parseFloat转æ?¢数字上的区别:
parseFloatå?ª能转æ?¢10进制,而parseInt则支æŒ?第二个å?‚数parseInt(string[, radix]),ç?†论上支æŒ?任æ„?进制的数字parseIntä¸?能转æ?¢科学计数parseInt('1e2');//1,parseFloat('1e2');//100parseInt无法转æ?¢çœ?略å°?数点å‰?é?¢0的数字parseInt('.1');//NaN,parseFloat('.1');//0.1
共0评论