在www.jshint.com上输入此代码会在调用构造函数时生成验证消息“Missing'new'前缀”:
/*jshint globalstrict: true*/
/*jshint newcap:true*/
'use strict';
function main() {
var x = Error('x');
return x;
}
main();
但是,使用命令行jshint验证时,相同的代码不会产生任何警告:
fernando@fernando-i7-mint /tmp1050 $ ls -la
total 12
drwxr-xr-x 2 fernando fernando 4096 Jun 27 11:23 .
drwxr-xr-x 28 root root 4096 Jun 27 11:23 ..
-rw-rw-rw- 1 fernando fernando 132 Jun 27 11:06 test.js
fernando@fernando-i7-mint /tmp1050 $ cat test.js
/*jshint globalstrict: true*/
/*jshint newcap:true*/
'use strict';
function main() {
var x = Error('x');
return x;
}
main();
fernando@fernando-i7-mint /tmp1050 $ jshint --version
jshint v2.5.1
fernando@fernando-i7-mint /tmp1050 $ jshint test.js
fernando@fernando-i7-mint /tmp1050 $
如何确保通过命令行验证会产生预期的警告?
更新:验证适用于自定义构造函数,但不适用于内置Error
函数。所以问题是:需要哪些配置选项才能通过命令行显示此违规(不Error
调用new
?