在过去,使用 parseInt()
方法时,如果要将一个字符串转换为整数,就需要传递一个基数参数。但如果基数参数和字符串中的数字不一致,就会出现意想不到的错误。
例如:
-------------- --- -- -- ---- ---- --------- - -------------- ---- -- -- ----------- --
上述例子就展示了之前 parseInt() 方法中一个令人困惑的问题。为了解决这个问题,JavaScript 新增了在ES7的一个新特性。
ES7 对 parseInt()
的新特性
新特性就是在 parseInt() 方法中添加了第二个参数,用于指定该字符串的基数。
这个修复确保了 parseInt() 方法在默认情况下使用十进制数字,并且即使前面的数字字符串以“0”开头也会正常工作。
所以,我们之前的示例将会更好的。
-------------- --- -- ------- - -------------- ---- -- ------- --
这个新特性的意义在于,让我们在使用 parseInt()
方法时不再受到低级错误的影响。除了整数字符串之外,还包括浮点数和科学计数法等数值类型,也能受到好的支持。
示例代码
下面是一个使用 parseInt() 方法来处理整数字符串的示例代码。
--- ------- - ----- --- --- - ----------------- ---- -- ------- ------------------------- - ------------------------- -- -------- ---- - ------ --------- - ---- - ------------------------- ------- -
输出结果如下:
---- -- ------ - -- ------
当第二个参数默认为10时,parseInt()
方法可将字符串正确解析为数字。同时,通过 Number.isInteger()
方法我们也能方便地判断该数字是否为整数。
结论
新特性的引入,也意味着我们可以更加方便地开发更加准确的 iOS/web 移动应用程序。对于正在从低级框架升级至 ES7 的开发者来说,修复 parseInt() 方法的 bug 将会是一个重要的进步。请使用这种新特性来提高程序的可靠性和准确性。
需要注意的是,如果传入的字符串无法中国而为整数,parseInt()
方法将返回 NaN
。因此在实际开发中,应该特别注意使用 parseInt() 方法。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/672f0fceeedcc8a97c8c5077