1 | {
|
2 | //默认全局变量
|
3 | "globals": {
|
4 | "jQuery": false,
|
5 | "Class": false,
|
6 | "LS": false,
|
7 | "SS": false,
|
8 | "_": false,
|
9 | "Zepto": false,
|
10 | "window": false,
|
11 | "define": false,
|
12 | "require": false,
|
13 | "AppCore": false
|
14 | },
|
15 |
|
16 | /********** 强制定义选项 *************/
|
17 |
|
18 | //禁止位运算符使用,多数情况下可能只是为了写 && 而产生笔误
|
19 | "bitwise": false,
|
20 |
|
21 | //强制使用驼峰命名(camelCase)或全大写下划线命名(UPPER_CASE)
|
22 | "camelcase": true,
|
23 |
|
24 | //强制使用{}包裹循环体代码,比如if{}或while{}
|
25 | "curly": true,
|
26 |
|
27 | //强制使用强等 === 和 !== 来代替 == 和 !=
|
28 | "eqeqeq": true,
|
29 |
|
30 | //强制兼容ES3语法以兼容低版本浏览器
|
31 | "es3": false,
|
32 |
|
33 | //要求所有的forin循环需要使用hasOwnProperty来检查遍历的元素是否为自己私有的属性(而不是原型属性)
|
34 | "forin": false,
|
35 |
|
36 | //禁止覆盖原生对象的原型属性
|
37 | "freeze": true,
|
38 |
|
39 | //禁止使用非包装的立即执行函数,如 +function(){}();
|
40 | "immed": true,
|
41 |
|
42 | //强制前置空格的数量
|
43 | "indent": 2,
|
44 |
|
45 | //禁止变量后定义
|
46 | "latedef": true,
|
47 |
|
48 | //强制“类”构造器的首字母需要大写,即new操作符后必须是首字母大写的类构造器
|
49 | "newcap": true,
|
50 |
|
51 | //禁止使用 arguments.caller 和 arguments.callee
|
52 | "noarg": true,
|
53 |
|
54 | //当存在空代码块(比如 if(some){/* nothing here */})时给出警告
|
55 | "noempty": true,
|
56 |
|
57 | //禁止”non-breaking whitespace” 这是Mac键盘在某种情况下可以键入的字符,据说会破坏非UTF8编码的页面
|
58 | "nonbsp": true,
|
59 |
|
60 | //禁止使用构造器函数创建实例后而不保存实例(因为那是一个普通函数干的事情)
|
61 | "nonew": true,
|
62 |
|
63 | //禁止使用一元操作符 ++ 和 --
|
64 | "plusplus": false,
|
65 |
|
66 | //强制统一使用引号类型,设置为true则要求不能混用,设置为single则强制为单引号,设置为double则强制为双引号
|
67 | "quotmark": false,
|
68 |
|
69 | //禁止使用不在全局变量列表中的未定义的变量
|
70 | "undef": true,
|
71 |
|
72 | //当有未使用的变量时,给出警告
|
73 | "unused": true,
|
74 |
|
75 | //强制使用ES5的严格模式, Strict Mode是对JS用法的一些限制,过滤掉了容易出错的特性和不容易优化的特性。
|
76 | "strict": false,
|
77 |
|
78 | //禁止行尾空格
|
79 | "trailing": true,
|
80 |
|
81 | //最多形参数量限制,如果超过请使用单一的 option 形参
|
82 | "maxparams": 4,
|
83 |
|
84 | //最大代码深度限制
|
85 | "maxdepth": 4,
|
86 |
|
87 | //函数中最大语句数限制
|
88 | "maxstatements": 80,
|
89 |
|
90 | //最大圈复杂度限制(详细见 http://zh.wikipedia.org/zh-cn/%E5%BE%AA%E7%92%B0%E8%A4%87%E9%9B%9C%E5%BA%A6 )
|
91 | "maxcomplexity": 15,
|
92 |
|
93 | //最大单行字符长度限制
|
94 | "maxlen": 120,
|
95 |
|
96 | /********** 宽松定义选项 *************/
|
97 |
|
98 | //允许省略不必要的分号
|
99 | "asi": false,
|
100 |
|
101 | //允许在if,for,while语句中使用赋值
|
102 | "boss": false,
|
103 |
|
104 | //允许在代码中出现 debugger 中断调试代码
|
105 | "debug": false,
|
106 |
|
107 | //允许 ==null 语句,==null 通常用来比较 === null || === undefined
|
108 | "eqnull": false,
|
109 |
|
110 | //允许ECMAScript 6规范,ES6目前存在较多的浏览器兼容性
|
111 | "esnext": false,
|
112 |
|
113 | //允许使用eval
|
114 | "evil": false,
|
115 |
|
116 | //允许应该出现赋值或函数调用的地方使用表达式
|
117 | "expr": true,
|
118 |
|
119 | //允许在控制体内定义变量而在外部使用
|
120 | "funcscope": false,
|
121 |
|
122 | //使得JSHint能与Google Closure Compiler兼容
|
123 | "gcl": true,
|
124 |
|
125 | //允许全局严格模式
|
126 | "globalstrict": false,
|
127 |
|
128 | //允许iterator,不是所有的浏览器都支持iterator
|
129 | "iterator": false,
|
130 |
|
131 | //允许单行控制块省略分号
|
132 | "lastsemic": false,
|
133 |
|
134 | //允许不安全的行中断(与laxcomma配合使用)
|
135 | "laxbreak": false,
|
136 |
|
137 | //允许循环中定义函数
|
138 | "loopfunc": false,
|
139 |
|
140 | //允许逗号开头的编码样式
|
141 | "laxcomma": false,
|
142 |
|
143 | //JSHint中断扫描前允许的最大错误数,默认50
|
144 | "maxerr": 60,
|
145 |
|
146 | //除非你开发的是仅仅针对于火狐平台的,否则请设置为false
|
147 | "moz": false,
|
148 |
|
149 | //允许多行字符串
|
150 | "multistr": false,
|
151 |
|
152 | //允许非法的typeof操作
|
153 | "notypeof": false,
|
154 |
|
155 | //允许 proto,不是所有的浏览器都支持proto
|
156 | "proto": false,
|
157 |
|
158 | //允许形如 javascript: 格式的url地址
|
159 | "scripturl": true,
|
160 |
|
161 | //允许使用SmartTabs(详见 http://www.emacswiki.org/emacs/SmartTabs )
|
162 | "smarttabs": false,
|
163 |
|
164 | //允许变量重复定义
|
165 | "shadow": false,
|
166 |
|
167 | //允许使用 father['sub'] 方式来获取子节点
|
168 | "sub": false,
|
169 |
|
170 | //允许new function() {…} 和 new Object
|
171 | "supernew": false,
|
172 |
|
173 | //允许严格模式下在非构造函数中使用this
|
174 | "validthis": true,
|
175 |
|
176 | //允许发生器中没有yield语句
|
177 | "noyield": false,
|
178 |
|
179 | /********** 环境定义选项 *************/
|
180 | //更多环境配置选项见 http://www.jshint.com/docs/options/#environments
|
181 |
|
182 | "devel": true,
|
183 | "nonstandard": true,
|
184 | "browser": true,
|
185 | "jquery": true,
|
186 | "node": true,
|
187 | "esversion": 6
|
188 | }
|