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

JSHint 配置浅析

2016-01-13 16:36 531 查看


JSHint 配置浅析

发表于 2014-10-25   |   分类于 JSHint  
|   1条评论

JSHint,发现错误和潜在问题的社区驱动的工具
JSLint
错误解析


单独安装

1

$ npm install jshint -g

12
3
4

$ jshint myfile.js
myfile.js: line 10, col 39, Octal literals are not allowed in strict mode.

1 error


编辑器和IDE插件

Sublime-JSHint


安装

Ctrl+Shift+P
 或 
Cmd+Shift+P


输入 
install
,选择 
Package
Control: Install Package


输入 
js gutter
,选择 
JSHint
Gutter


使用方法:

Tools -> Command Palette (
Ctrl+Shift+P
 或者 
Cmd+Shift+P
)
然后输入 
jshint

– 或者 –
Ctrl+Shift+J
 (或者 Mac 使用 
Cmd+Shift+J
)
– 或者 –
当前文件右键选择 JSHint -> Lint Code
– 或者 –
打开 JavaScript 文件,菜单 View -> Show Console,然后输入 
view.run_command("jshint"
)


编辑,加载或保存时自动检查

右键 -> JSHint -> Set Plugin Options
三项设置为 
true


12
3
4
5

{
"lint_on_edit": true,
"lint_on_load": true,
"lint_on_save": true
}


三种配置方式:

通过 
--config
 标记手动配置
使用 .jshintrc 文件
配置放到项目的 package.json 文件里面, jshintConfig 下面
自定义 .jshintrc 配置文件


JSHint 设置


强制选项

禁用位运算符,位运算符在 JavaScript 中使用较少,经常是把 && 错输成 &

1

bitwise: true

循环或者条件语句必须使用花括号包围

1

curly: true

强制使用三等号

1

eqeqeq: true

兼容低级浏览器 IE 6/7/8/9

1

es3: true

禁止重写原生对象的原型,比如 
Array
Date


1

freeze: true

代码缩进

1

indent: true

禁止定义之前使用变量,忽略 
function
 函数声明

1

latedef: "nofunc"

构造器函数首字母大写

1

newcap: true

禁止使用 
arguments.caller
 和 
arguments.callee
,未来会被弃用,
ECMAScript 5 禁止使用 
arguments.callee


1

noarg:true

为 
true
 时,禁止单引号和双引号混用

1

"quotmark": false

变量未定义

1

"undef": true

变量未使用

1

"unused": true

严格模式

1

strict:true

最多参数个数

1

maxparams: 4

最大嵌套深度

1

maxdepth: 4

复杂度检测

1

maxcomplexity:true

最大行数

1

maxlen: 600


宽松选项

控制“缺少分号”的警告

12

"asi": true
"boss": true

忽略 
debugger


1

"debug": true

控制 
eval
 使用警告

1

"evil": true

检查一行代码最后声明后面的分号是否遗漏

1

"lastsemic": true

检查不安全的折行,忽略逗号在最前面的编程风格

1

"laxcomma": true

检查循环内嵌套 
function


1

"loopfunc": true

检查多行字符串

1

"multistr": true

检查无效的 
typeof
 操作符值

1

"notypeof": true

person['name']
 vs. 
person.name


1

"sub": true

new function () { ... }
 和 
new
Object
;

1

"supernew": true

在非构造器函数中使用 
this


1

"validthis": true


环境

预定义一些全局变量
预定义全局变量 
document
navigator
FileReader
 等

1

"browser": true

定义用于调试的全局变量:
console
alert


1

"devel": true

定义全局变量

12

"jquery": true,
"node": true

#JSHint
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: