为什么80%的码农都做不了架构师?>>>
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来查看错误。