parseint和minus之间的差异

时间:2015-11-22 18:42:06

标签: javascript parseint

通常当我必须在javascript中解析数字时,我使用像

这样的代码
var x="99"
var  xnumber= x-0

而不是

var xnumber= parseInt(x)

使用此代码(性能或结构)是否有任何问题,我想知道是否有任何问题

4 个答案:

答案 0 :(得分:1)

两种方式都应该有效,但在我看来,#34;更清洁"使用为此而制作的函数解析任何String,而不是使用这个小技巧。

您也不太可能遇到转换问题,如果您使用其他语言编写代码,您通常会更好地使用开发人员打算使用的方式。许多其他语言都不允许你第一次使用" cast"

答案 1 :(得分:1)

使用" x - 0"在大多数浏览器中,方法会明显加快。

Here's a JSPerf that shows the performance difference.

您可以使用JSPerf.com

进行A / B性能测试

但是,可能仍然希望在某些情况下使用parseInt(),因为它更清晰一些。尽管如此,任何有经验的javascript开发人员都不会在理解更快的方式方面遇到任何麻烦。

如果代码行每半秒左右运行一次(或者每当用户输入一个字母时),你可以使用parseInt而不用担心。

但是,如果这段代码在一个运行几千次或更多次的循环中,你应该肯定使用x - 0

答案 2 :(得分:0)

表现明智,你不会看到很多不同,但它不是很可读。我倾向于认为parseInt("4", 10)是正确的解决方案,因为它与您在javascript(即parseFloat("4.0"))中解析其他值的方式一致,因此您可以通过坚持使用一种方法来保持更加一致解析数字。

答案 3 :(得分:0)

我不相信它会表现得更好或更差。像这样的性能优化通常可以忽略不计,并且可以在各种平台上不一致。但是,使用parseInt的前一种方法可以更好地了解您对其他程序员的意图。除非您有充分的理由优化此语句,并且您确信它在目标环境中运行得更快,否则建议您坚持使用更易读的版本(本例中为parseInt)。

更新:我建议阅读关于微优化的这个主题:https://softwareengineering.stackexchange.com/questions/99445/is-micro-optimisation-important-when-coding/