IE8下parseInt返回错误结果Bug

parseInt('09')    返回:0
parseInt('9')      返回:9

这个bug只发生在要转换的字符串以0开头,这个0会告诉浏览器这是一个八进制的数,但是09不是一个有效的八进制数,这样就会返回错误的信息。

解决办法:

parseInt(parseFloat('09'))

parseInt('09',10)

Number('09')

这样就可得到正确的结果,PS:现在浏览器都没这问题,一些老浏览器可能会存在,所以还是要知道

参考文档:http://www.breakingpar.com/bkp/home.nsf/0/87256B280015193F87256C85006A6604

posted @ 2017-01-16 15:53  暗夜心慌方  阅读(196)  评论(0)    收藏  举报