Love.Passion.Dream

firefox下对进制处理和chrome的不同的一个细节

昨天的时候遇到了一个很诡异在火狐下面出现的bug,排查之后发现是在火狐下面parseInt('08') == 0 !!! 坑爹啊有没有,前面带了一个0就作为8进制处理了。

像javascript这一类的脚步语言采用了弱类型,数字就没了明确的Int,float等等的区别了。虽然这样省掉了很多工作,让程序员更专注与逻辑的实现,更轻松的处理数字和字符串之间的转换,但是这样比起C这一类语言来说又在程序员和机器直接加了一层虚拟环境,尤其是在浏览器这样还有不同版本的环境中,这些问题真的是坑啊!!!

不过我们还是满怀希望,某一天大家都按标准来。看看这个parseInt和进制处理在标准中是怎么定义的,看看是火狐调皮呢还是她才是标准。