我有一个构造函数X来创建一个对象。稍后在文件中我通过X.prototype.method = function () {...}
添加了多个方法。虽然我意识到这是一个赋值语句,但它的外观和行为类似于一个不需要分号的函数声明。
gulp jshint坚持认为缺少的分号是错误的,必须写成X.prototype.method = function () {...};
。它会产生错误,而不是我可以用-W ###指令抑制的警告。
无论如何要抑制此错误?我意识到这是一个非常好的东西,我可以很容易地“修复”代码,但我更喜欢更清洁的风格。
答案 0 :(得分:2)
请在代码中加入分号。他们的意思是结束一个声明。如果要将函数设置为变量,那么这是一个语句。如果你声明一个函数它不是一个声明,因此不会得到一个分号。
无法在var = function()
语句中启用分号插入。您唯一能做的就是在整个文件上启用分号插入。将此评论放在脚本的顶部:
/*jshint asi: true*/
asi代表允许分号插入。
答案 1 :(得分:1)
JSHint是对的。您应该在赋值语句中添加一个尾随分号。然而,JavaScript接受没有分号的代码。解决问题的一种方法是使用asi选项(http://jshint.com/docs/options/#asi)完全禁用分号检查。