javascript - parseInt 解析数字字符串的替代方法

标签 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 .

最佳答案

可读性可维护性的 Angular 来看,parseInt是最好的选择。它清楚地说明了它的作用并且可靠地做到了

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

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

关于javascript - parseInt 解析数字字符串的替代方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11067362/

相关文章:

javascript - 在一个 href 标签中调用多个函数

javascript - Google map ,用户创建标记,如何保存

Javascript 使用 native 函数根据多个条件过滤数组

javascript - 删除 javascript 事件监听器

javascript - 脚本如何在页脚库 jquery 和 angularjs 中显示加载时间和内存使用情况网页

javascript - Angular 2+,下拉更改读取值和加载数据 - json 文件

javascript - 通过 css 对象的 X 轴确定偏移,javascript

javascript - react native 模态始终可见

Java 相当于 JavaScript 的 Canvas getImageData

javascript - 动态调用 javascript 函数