1.parseInt和parseFloat
今天做时间控件的时候发现了一个奇怪,每次到了08接下来就是00,也就是这样的:
parseInt("07") 返回8
parseInt("08") 返回0
你知道问题在哪吗?用javascript的parseInt函数时,parseInt("08")或者parseInt("09")返回的居然是0,而parseInt("01")...parseInt("07")都是正确的。
为什么这样呢?一开始很难理解,后来发现出现这个问题的原因是当在前面有"0"时,javascript的debugger会认为这是一个八进制数,而"08"和"09"不是一个合法的八进制数,所以导致了那个问题,但是parseFloat不会存在这个问题
2.坑爹的名字
js数组中有两个方法,一个是splice,另一个是slice,第一眼看上去以为是同一个方法,害我调试了半天,发现用错了方法。。。
splice()方法用于插入、删除或替换数组的元素 ,splice(start,deleteCount,[element1,.....,elementX]) 如果deleteCount为0则为从start处开始插入元素,原数组会改变
slice(start,[end]) 方法:截取数组的一段,原数组不改变
本文探讨了JavaScript中parseInt和parseFloat函数的区别,特别是在处理前导零时的行为差异。通过具体示例展示了parseInt将前导零视为八进制数的问题,并指出parseFloat没有此限制。此外,还提到了JavaScript数组方法splice和slice的常见混淆。
1011

被折叠的 条评论
为什么被折叠?



