假设我有一个数字字符串:
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
的相同可能的依赖于实现的缺陷?
或者这些也可以安全使用吗?
答案 0 :(得分:3)
从可读性和可维护性 parseInt
的角度来看是最佳选择。它显然告诉它做什么而可靠地做到。
明天,当一位开发人员加入这个项目时,几个月后你自己将会查看自己的代码,或者如果你突然决定增加10而不是只增加一个,那么你将会更少使用parseInt
时遇到问题。
另外,试试JSLint。这是值得的。