我见过不同的开发者在javascript的函数后面加分号,也有一些没有。哪种是最佳实践?
function weLikeSemiColons(arg) {
// bunch of code
};
or
function unnecessary(arg) {
// bunch of code
}
我见过不同的开发者在javascript的函数后面加分号,也有一些没有。哪种是最佳实践?
function weLikeSemiColons(arg) {
// bunch of code
};
or
function unnecessary(arg) {
// bunch of code
}
当前回答
实际上,这不仅仅是惯例或一致性的问题。
我相当肯定,在每条语句后不放置分号会降低内部解析器的速度,因为它必须找出语句的结尾在哪里。我希望我有一些方便的数字给你肯定地证实这一点,但也许你可以自己谷歌。:)
此外,当您压缩或缩小代码时,缺少分号可能导致脚本的缩小版本不能执行您想要的操作,因为所有的空白都消失了。
其他回答
当我缩小我的脚本时,我意识到我需要对以等号开始的函数使用分号。如果你定义一个函数为var,是的,你需要使用分号。
需要分号
var x = function(){};
var x = new function(){};
this.x = function(){};
不需要分号
function x(){}
这取决于你的喜好。我喜欢用分号来结束代码行,因为我习惯了Java、c++、c#等,所以我在javascript中使用相同的编码标准。
我通常不以分号结束函数声明,但这只是我的偏好。
浏览器会以任何一种方式运行它,但也许有一天他们会提出一些更严格的标准来管理它。
我要写的代码示例:
function handleClickEvent(e)
{
// comment
var something = true; // line of code
if (something) // code block
{
doSomething(); // function call
}
}
JS Lint是事实上的惯例,它说函数体后没有分号。参见“分号”部分。
实际上,这不仅仅是惯例或一致性的问题。
我相当肯定,在每条语句后不放置分号会降低内部解析器的速度,因为它必须找出语句的结尾在哪里。我希望我有一些方便的数字给你肯定地证实这一点,但也许你可以自己谷歌。:)
此外,当您压缩或缩小代码时,缺少分号可能导致脚本的缩小版本不能执行您想要的操作,因为所有的空白都消失了。
函数后面的分号是不必要的 无论是否使用它,都不会在程序中导致错误。 但是,如果您计划精简代码,那么在函数后使用分号是个好主意。 例如,你有如下的代码
//file one
var one=1;
var two=2;
function tryOne(){}
function trytwo(){}
and
//file two
var one=1;
var two=2;
function tryOne(){};
function trytwo(){};
当您缩小两者时,您将得到以下输出
注意,注释只是为了说明
//file one
var one=1;var two=2;function tryOne(){}
function trytwo(){}
and
//file two
var one=1;var two=2;function tryOne(){};function trytwo(){};