JSHint 是一个 JavaScript 的代码质量检查工具,主要用来检查代码质量以及找出一些潜在的代码缺陷。
该工具也提供在线版本,请点击下面的软件首页。
JSHint跟JSLint非常像,都是Javascript代码验证工具,这种工具可以检查你的代码并提供相关的代码改进意见。
对于你的代码,你可以选择多种方式来进行检验:
第一种方法:进入JSHint首页,粘贴你的代码,选择相关的选项,然后点击右下角的Lint按钮就可以了。
第二种方法:使用Grunt整合的JSHint。
首先在项目根目录中建立一个grunt.js文件:
module.exports = function(grunt) {
'use strict';
// Project configuration.
grunt.initConfig({
pkg: '<json:package.json>',
test: {
files: ['test/**/*.js']
},
lint: {
files: ['grunt.js', 'lib/**/*.js', 'test/**/*.js']
},
watch: {
files: '<config:lint.files>',
tasks: 'default'
},
jshint: {
options: {
curly: true,
eqeqeq: true,
newcap: true,
noarg: true,
sub: true,
undef: true,
boss: true,
node: true
},
globals: {
exports: true
}
}
});
// Default task.
grunt.registerTask('default', 'lint test');
};
这里的lint.files就是要验证的所有文件。而下面的jshint.option是jshint的具体配置信息。简单介绍一下:
- curly: 大括号包裹,即不能使用这种代码:
代码:
while (notEnd())
doSomething();
- eqeqeq: 对于简单类型,使用===和!==,而不是==和!=
- newcap: 对于首字母大写的函数(声明的类),强制使用new
- noarg: 禁用arguments.caller和arguments.callee
- sub: 对于属性使用aaa.bbb而不是aaa[‘bbb’]
- undef: 查找所有未定义变量
- boss: 查找类似与if(a = 0)这样的代码
- node: 指定运行环境为node.js
- 其他更多的选项参见:http://www.jshint.com/docs/
第三种方法:直接使用API。
var result = JSHINT(source, options, globals);
其中source为待检查的脚本字符串(或者字符串数组)。options同第二种方法。globals是指定全局变量。如果验证通过,返回true,否则返回false。如果返回false,那么可以使用JSHINT.errors来查看错误。