parseInt用于解析数字字符串的替代方法

时间:2012-06-16 22:01:00

标签: javascript

假设我有一个数字字符串:

var foo = "0";

假设我想将它解析为数字,然后递增它,将值赋给bar(只是算术的例子),我知道我可以这样做:

var bar = parseInt(foo, 10)+1;

但我相信上面的例子可能更简单,更易读。考虑这个例子:

//alternative 1
var bar = +foo+1;

这一个:

//alternative 2
var bar = ++foo;

这两个也会为bar产生相同的结果(后者也会增加foo,但这没问题。)

我的问题是,通过使用其中一种替代方案,我是否会将我的代码暴露给使用parseInt而不指定radix / base的相同可能的依赖于实现的缺陷?

或者这些也可以安全使用吗?

Fiddle for testing

1 个答案:

答案 0 :(得分:3)

可读性可维护性 parseInt的角度来看是最佳选择。它显然告诉它做什么可靠地做到

明天,当一位开发人员加入这个项目时,几个月后你自己将会查看自己的代码,或者如果你突然决定增加10而不是只增加一个,那么你将会更少使用parseInt时遇到问题。

另外,试试JSLint。这是值得的。