尽管 JavaScript 中的分号是可选的,但强烈建议不要使用分号:
它缩小到var a=1,b=7,sum=a+b(a+b);
,这将导致错误number is not a function
。还有其他案例和这个案例。
更新:这个错误不是由缩小引起的,但是,下一个是:
它使您的代码容易受到缩小导致的错误的影响:尝试:
var isTrue = true
function doSomething() { return 'yeah' }
function doSomethingElse() { return 'yes, dear' }
doSomething()
!isTrue && doSomethingElse()
缩小为:
var isTrue=true;function doSomething(){return "yeah"}function doSomethingElse(){return "yes, dear"}doSomething()!isTrue&&doSomethingElse();
这导致:
SyntaxError: Unexpected token !
就方便性而言,它会降低您的代码的可读性和可维护性:使用分号已被正确地确立为良好的实践,训练有素的 JavaScript 开发人员会对试图规避约定的代码感到困惑。
另一件事是,您必须问自己:省略分号您真正获得了什么?
- 清洁代码?如果你想让 JavaScript 看起来不像 JavaScript,试试CoffeeScript。但也有一些误导性的观念,他们认为“简单的解决方案:当一行以括号开头时,在其前面加上分号。”可以消除上述陷阱。这个干净的代码如何,它如何帮助任何人阅读你的代码?
底线:通过缩小,我肯定会尝试使用JSLint的约定。我已经看到一些人在尝试修复一个未在未缩小但在缩小代码中发生的错误数小时后,终于对他们的 JavaScript 代码进行了 linting。不要让自己陷入这种痛苦;分号乍一看可能很难看,但它们可以阻止错误。