JSLint简介

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行。

剩下的问题,包括严格的空格检查,都需要修复。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值