JSLint使用教程

来源:互联网 发布:知乎詹姆斯艾伦 编辑:程序博客网 时间:2024/06/07 11:55
JavaScript 作为一门语法灵活多变且对格式要求相对松散的语言,代码格式的混乱和某些语言特性的不正确使用,往往使得最终交付的产品中包含许多因编码风格约定造成的未预见的行为或错误,这种习惯性的问题如果不及时指出并修改,往往会在项目的迭代过程中不断的重现,严重影响 Web 产品的稳定性与安全性。

  JSLint 正是 Douglas Crockford 为解决此类问题创建的工具,JSLint 除了能指出这些不合理的约定,还能标出结构方面的问题。虽然 JSLint 不能保证代码逻辑一定正确,但却有助于发现错误并教会开发人员一些好的编码实践。值得一提的是 JSLint 工具本身也是一段 JavaScript 代码,它是检验 JavaScript 代码质量的 JavaScript 脚本。

  JSLint 对 JavaScript 脚本的质量检测主要包括以下几个方面:

  • 检测语法错误:例如大括号“{}”的配对错误。
  • 变量定义规范:例如未定义变量的检测。
  • 代码格式规范:例如句末分号的缺失。
  • 蹩脚语言特性的使用检测:如 eval 和 with 的使用限制。

  目前,与 JSLint 功能类似的 JavaScript 代码检测工具有很多,包括:YUI Test、Firebug、MS Script Debugger 、CompanionJS 等等,它们中大多数都是以浏览器插件的形式存在于客户端浏览器进行 JavaScript 运行时的检测和调试,JSLint 与这些工具的重要区别在于其更加注重静态代码格式的检测,而这也正是当前火热的敏捷开发中持续构建所需要和提倡的。

一.安装JSLint插件

1.安装Notepad++,下载地址:http://pan.baidu.com/s/1qWGu6du

2.安装JSLint插件

打开Notepad++,在插件-插件管理(Plugin Manager)中打开插件管理展示

检查JavaScript语法错误的工具JSLint使用教程

Available中选中JSLint并且Install,插件安装成功

检查JavaScript语法错误的工具JSLint使用教程

二.JSlint的使用

1.随意打开一个JS文件,然后选择 插件>>JSLint>>JSLint Current File。

检查JavaScript语法错误的工具JSLint使用教程

在控制台也能进行快捷调试,在错误的地方右击选择Show能直接定位到错误所在地

检查JavaScript语法错误的工具JSLint使用教程

2.插件>>JSLint>>option 里面包括一些选项,需要配置。

检查JavaScript语法错误的工具JSLint使用教程

?
1
browser: true

  允许浏览器预定义的全局函数。

  例如

?
1
2
3
setTimeout(function() {
      alert("a");
});

vars : true  //允许每个函数有多个var声明

sloppy: true  //是否忽视严格模式"use strict";

maxerr :  允许做大的错误数,默认是50

  每个js文件中JSLint所发现的最大错误数,错误过多时,只返回文件名和错误总数,不返回具体错误

其他的用默认即可。

predefined的内容:Ext,getConfig,setConfig,Highcharts,getCtrl,dojo,MyApp

 

3.技巧

      JSLint可能会把一些结构方面的错误标志为可疑的编码实践,以下列出了其中一部分(完整的列表可以参考JSLint的文档)http://www.jslint.com/lint.html

        ①JSLint要求所有代码行都以分号结束。尽管JavaScript确实允许将换行符作为行结束符,但一般认为这种做法是不明确的,而且是不好的编码风格。

        ②使用iffor的语句必须使用大括号把语句块括起来。

        ③不同于其他编程语言,在JavaScript中,块不会作为变量的作用域。JavaScript只支持函数级作用域。因此,JSLint只接受作为functionifswitchwhilefordotry语句一部分的块,其他的块都会标志为错误。

        ④var只能声明一次,而且在使用之前必须声明。

JSLint会把出现在returnbreakcontinuethrow语句后面的代码标志为不可达的代码。这些语句后面必须紧跟一个结束大括号。

⑥结合Ext,常见的错误有缺少或者多了空格,函数中缺少use strictMissing 'use strict' statement.,{}未对齐,变量未定义,代码写在不是期望的位置等,这些大部分都可以在option里面配置是否验证。

for in 语句

  避免遍历原型链上所有属性,建议如下写法:

?
1
2
3
4
5
 for(name in object) {
 if(object.hasOwnProperty(name)) {
....
      }
  }

 

三.参考资料

1.IBM文档(使用JSLint保证代码质量)

http://www.ibm.com/developerworks/cn/web/1105_linlin_jslint/

 

四.-JSTool

在用JSLint规范代码前可使用插件JSTool  format一下代码,减少需要修改的错误的数量

0 0
原创粉丝点击