UNPKG

4.88 kBPlain TextView Raw
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}