cod*_*ike 11
这让我疯了 - parseInt("02")但不是parseInt("09").
正如其他人所说,解决方案是指定基数10:
parseInt("09", 10);
Run Code Online (Sandbox Code Playgroud)
有这种行为的一个很好的解释在这里
...在Javascript中,从零开始的数字被认为是八进制,并且八进制中没有08或09,因此出现问题.
小智 5
重新实现现有的parseInt,这样如果用一个参数调用它,则自动包含"10"作为第二个参数.
(function(){
var oldParseInt = parseInt;
parseInt = function(){
if(arguments.length == 1)
{
return oldParseInt(arguments[0], 10);
}
else
{
return oldParseInt.apply(this, arguments);
}
}
})();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7257 次 |
| 最近记录: |