JSLint简介
2015-09-07 16:36
495 查看
JavaScript是一门强大的函数式动态语言,但是它本身也有很多缺陷。
最大的缺陷就是一个变量如果缺少
道爷(Douglas Crockford)在“JavaScript: The Good Parts”一书中,列举了我们应该使用的JavaScript的精华部分,以及要坚决避免的很多陷阱。
要成为优秀的JavaScript开发人员,必须直接禁用JavaScript的不良特性。为此,道爷亲自操刀编写了JSLint工具,用来分析我们的JavaScript代码,把潜在的Bug和不良代码全部找出来。
可以把JavaScript代码直接粘贴到http://www.jslint.com/上,但是这么做实在太麻烦。在Nodejs环境下,可以通过构建工具(Grunt或Gulp)在命令行直接运行,更加方便。
以Gulp为例,在
然后,定义
运行jslint前,请参考道爷的友情提醒:
我用JSLint直接找出了上百个问题,然后一个一个修复。
使用JSLint效果非常不错,我只对其中一个特性持怀疑态度,JSLint不允许编写:
强迫用
剩下的问题,包括严格的空格检查,都需要修复。
最大的缺陷就是一个变量如果缺少
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行。
剩下的问题,包括严格的空格检查,都需要修复。
相关文章推荐
- JavaScript学习笔记
- JS 之匿名函数
- JS高级程序设计读书笔记(第一章到第五章)
- 【javascript高级程序设计笔记】第四章、第五章
- JavaScript编程珠玑
- JSTL分页显示 动态页码
- JS正则表达式大全
- JSTL 核心标签库 使用
- JavaScript中的匿名函数及函数的闭包
- [转] 主流JS框架中DOMReady事件的实现
- JavaScript数据类型
- js关闭窗口,最大化窗口
- JSONP
- JavaScript面向对象编程--学习
- ExtJS 学习总结 (一)-- MVVM框架概述
- JS----拖拽图层,面向过程,面向对象
- 【前端也要学点算法】快速排序的JavaScript实现
- js读取配置文件(理解版)
- javascript canvas 碰撞检测
- FastJson使用详解Demo