我见过不同的开发者在javascript的函数后面加分号,也有一些没有。哪种是最佳实践?

function weLikeSemiColons(arg) {
   // bunch of code
};

or

function unnecessary(arg) {
  // bunch of code
}

当前回答

JS Lint是事实上的惯例,它说函数体后没有分号。参见“分号”部分。

其他回答

当我缩小我的脚本时,我意识到我需要对以等号开始的函数使用分号。如果你定义一个函数为var,是的,你需要使用分号。

需要分号

var x = function(){};
var x = new function(){};
this.x = function(){};

不需要分号

function x(){}

我在函数作为变量声明之后使用它们:

var f = function() { ... };

但不是在经典风格的定义之后:

function f() {
    ...
}

只要保持一致!它们不是必需的,但我个人使用它们,因为大多数缩小技术依赖于分号(例如,Packer)。

实际上,这不仅仅是惯例或一致性的问题。

我相当肯定,在每条语句后不放置分号会降低内部解析器的速度,因为它必须找出语句的结尾在哪里。我希望我有一些方便的数字给你肯定地证实这一点,但也许你可以自己谷歌。:)

此外,当您压缩或缩小代码时,缺少分号可能导致脚本的缩小版本不能执行您想要的操作,因为所有的空白都消失了。

JS Lint是事实上的惯例,它说函数体后没有分号。参见“分号”部分。