您的位置:首页 > Web前端 > JavaScript

JSLint简介

2015-09-07 16:36 495 查看
JavaScript是一门强大的函数式动态语言,但是它本身也有很多缺陷。

最大的缺陷就是一个变量如果缺少
var
申明,它就自动变成了全局变量,从而导致不可预料的错误。

道爷(Douglas Crockford)在“JavaScript: The Good Parts”一书中,列举了我们应该使用的JavaScript的精华部分,以及要坚决避免的很多陷阱。

要成为优秀的JavaScript开发人员,必须直接禁用JavaScript的不良特性。为此,道爷亲自操刀编写了JSLint工具,用来分析我们的JavaScript代码,把潜在的Bug和不良代码全部找出来。

可以把JavaScript代码直接粘贴到http://www.jslint.com/上,但是这么做实在太麻烦。在Nodejs环境下,可以通过构建工具(Grunt或Gulp)在命令行直接运行,更加方便。

以Gulp为例,在
package.json
中添加
devDependencies

"devDependencies": {
"gulp-jslint": "*",
"gulp": "^3.6.2"
}


然后,定义
jslint
任务:
var
jslint = require('gulp-jslint'),
gulp = require('gulp');

gulp.task('jslint', function () {
return gulp.src([
'./controllers/*.js',
'./models/*.js',
'./*.js'
]).pipe(jslint({
node: true,
nomen: true,
sloppy: true,
plusplus: true,
unparam: true,
stupid: true
}));
});

gulp.task('default', ['jslint']);


运行jslint前,请参考道爷的友情提醒:


Warning: JSLint will hurt your feelings.

我用JSLint直接找出了上百个问题,然后一个一个修复。

使用JSLint效果非常不错,我只对其中一个特性持怀疑态度,JSLint不允许编写:
fn && fn();


强迫用
if
会把1行代码变成3行。

剩下的问题,包括严格的空格检查,都需要修复。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: