为什么最好放一个;在函数定义的末尾。
例如
var tony = function () {
console.log("hello there");
};
优于:
var tony = function () {
console.log("hello there");
}
最佳答案
TL; DR:如果不使用分号,则根据其后的代码,您的函数表达式可以变成立即调用的函数表达式。
自动分号插入很麻烦。您不应该依赖它:
var tony = function () {
console.log("hello there"); // Hint: this doesn't get executed;
};
(function() {
/* do nothing */
}());
与:
var tony = function () {
console.log("hello there"); // Hint: this gets executed
}
(function() {
/* do nothing */
}());
在第二个(错误的)示例中,不会插入分号,因为它后面的代码很有意义。因此,您期望分配给tony的匿名函数会立即与其他东西一起作为参数调用,并且
tony
被分配给您期望为tony
的返回值,这实际上并不是您想要的。关于javascript - 推杆;在函数定义的末尾,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20048093/