3

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

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

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

小提琴进行测试

4

1 回答 1

3

可读性可维护性 parseInt的角度来看是最好的选择。它清楚地说明了它做了什么并且可靠地完成了它

明天,当一位开发人员加入该项目时,或者在几个月后您自己将查看自己的代码时,或者如果您突然决定增加 10 而不是仅增加 1,那么与您一起工作的麻烦就会减少parseInt.

另外,尝试JSLint。这很值得。

于 2012-06-16T22:12:56.007 回答