21

在查看一些代码片段时,我正在与一位同事讨论 JavaScript。我们注意到这些片段;在语句末尾缺少 。我们都知道即使在行尾没有显示分号,JS 也会被正确解释,但我想知道这是否会以某种方式影响评估的性能,因为它是一种解释型语言。

4

3 回答 3

29

带有空格、分号和注释的 javascript 文件比较重。这是主要影响。

但是你是一名编码员,你必须维护代码,所以这种非常轻微的影响远不如对可读性的不利影响重要。省略分号意味着你知道什么时候可以省略它们。但是规则并不是那么简单,学习它们不值得你花时间。

将分号留在原处,您将避免错误。

如果您想拥有尽可能轻的代码,请使用压缩器为浏览器构建更简洁的代码。这是它的职责,不是你的。

于 2013-01-17T13:21:22.910 回答
12

在 JS 中省略分号是个大争论,但我们应该始终保留分号。如果你谈论性能,那么保留分号的好处将很少。

但事情并不止于此。除了性能之外,还有一件大事需要注意。

Doug Crockford 在此演示文稿中很好地解释了分号的需要:

JS 解释器发现一个错误,添加一个分号,然后再次运行整个过程。但并非每次他都将分号放在正确的位置,结果就是搞笑的错误。您应该始终使用分号并通过 JSLint 等测试工具运行您的 js。

除了这个分号之外,分号给代码更多的结构并使其更清晰 - 此外,它们的存在允许一些开发人员混淆他们的代码。

希望它会帮助你。

于 2013-01-17T13:34:17.490 回答
2

代码语法的微小差异通常对代码的性能影响很小。解释一串代码的过程非常有效,只需要实际运行代码所花费的时间的一小部分。

低效的算法或额外的网络调用,例如拉入多个 .js 文件而不是单个文件会产生更大的影响。

于 2013-01-17T13:21:10.617 回答