jsHint 配置参数小结

jsHint 规则 参考资料http://www.cnblogs.com/code/articles/4103070.html;http://www.htmlhifive.com/conts/web/view/library/JSLint_JSHint

选项  内容  值 错误信息
bitwise  禁用位运算符(如^,&)   设置:true; 不设置:false  Unexpected use of ‘???‘.(设置true时)
curly  if和while等语句中使用{}来明确代码块   设置:true; 不设置:false  Expected ‘{‘ and instead saw ‘???‘.
eqeqeq  使用===和!==替代==和!=   设置:true; 不设置:false  Use ‘===‘ to compare with ‘null‘.
 forin
在for in循环中使用Object.prototype.hasOwnProperty()来过滤原型链中的属性

  设置:true; 不设置:false   The body of a for in should be wrapped in an if statement to filter unwanted properties from the prototype
 immed
匿名函数调用必须

(function() {
   // body
}());

而不是

(function() {
   // body
})();这是为了表明,表达式的值是函数的结果,而不是函数本身。
设置:true; 不设置:false 
 
Move the invocation into the parens that contain the function. ?Wrap an immediate function invocation in parentheses to assist the reader in understanding that the expression is the result of a function, and not the function itself. 
 latedef  变量定义前禁止使用  设置:true; 不设置:false  ‘ ‘ was???used before it was defined .
 newcap  构造函数名首字母必须大写  设置:true; 不设置:false  A constructor name should start with an uppercase letter.
 noarg  禁止使用arguments.callerarguments.callee  设置:true; 不设置:false  Avoid arguments.callee.
 noempty  禁止出现空的代码块  设置:true; 不设置:false  Empty block.
 nonew  禁止使用构造器  设置:true; 不设置:false  Do not use ‘new‘ for side effects.
 plusplus  禁止使用++和--  设置:true; 不设置:false  Unexpected use of ‘++‘.
 undef  禁止使用不在全局变量列表中的未定义的变量  设置:true; 不设置:false ‘???‘ is not defined.
 strict  强制使用ES5的严格模式   设置:true; 不设置:false  Missing "use strict" statement.
 freeze
禁止复写原生对象(如Array, Date)的原型

/* jshint freeze:true */
Array.prototype.count = function (value) { return 4; };
// -> Warning: Extending prototype of native object: ‘Array‘.
 设置:true; 不设置:false   Warning: Extending prototype of native object: ‘Array‘.
       
       
       
       
       
 asi  允许省略分号  允许:true; 不允许:false  Missing semicolon.
 boss  允许在if,for,while语句中使用赋值;在条件语句中使用赋值经常是笔误if (a = 10) {}  允许:true; 不允许:false  Expected a conditional expression and instead saw an assignment.
 debug  允许debugger语句  允许:true; 不允许:false  All ‘debugger‘ statements should be removed.
 eqnull
允许==null

==null通常用来比较=== null;=== undefined

 允许:true; 不允许:false Use ‘===‘ to compare with ‘~‘. 
 evil  允许使用eval  允许:true; 不允许:false  eval is evil.
 expr  允许应该出现赋值或函数调用的地方使用表达式  允许:true; 不允许:false  Expected an assignment or function call and instead saw an expression.
 iterator  允许__iterator__;不是所有的浏览器都支持__iterator__。  允许:true; 不允许:false  __iterator__‘ is only available in JavaScript 1.7.
 lastsemic
允许单行控制块省略分号

var name = (function() { return ‘Anton‘ }());
 允许:true; 不允许:false Missing semicolon. 
 laxbreak  允许不安全的行中断(与laxcomma配合使用)  允许:true; 不允许:false  Bad line breaking before ‘~‘.
 laxcomma  允许逗号开头的编码样式  允许:true; 不允许:false  Comma warnings can be turned off with ‘laxcomma‘.
 loopfunc  允许循环中定义函数  允许:true; 不允许:false  Don‘t make functions within a loop.
 onecase  允许只有一个case条件的switch语句吗  允许:true; 不允许:false  This ‘switch‘ should be an ‘if‘.
 proto  允许 proto(不是所有的浏览器都支持__proto__.)  允许:true; 不允许:false  The ‘__proto__‘ property is deprecated.(反对)
 regexdash
待了解---》好像可以这么理解:

在正则表达式的控制语句,连字符开头或方括号的结束 - 容忍的存在。

 允许:true; 不允许:false  Unescaped ‘-‘.
 scripturl    允许:true; 不允许:false  
 shadow
允许变量shadow

function test() {
    var x = 10;

    if (true) {
        var x = 20;
    }

    return x;
}基于“函数作用域”,多次定义变量和单次定义是没有区别的,但是会造成阅读障碍。
 允许:true; 不允许:false ‘???‘ is already defined. 
sub
允许person[‘name’]

JSHint推荐使用person.name代替person[‘name’]

 允许:true; 不允许:false  [‘???‘] is better written in dot notation.
 supernew  允许new function() {…}和new Object;  允许:true; 不允许:false  Weird construction. Delete
 validthis  允许严格模式下在非构造函数中使用this  允许:true; 不允许:false  Possible strict violation.
时间: 2024-10-12 08:34:42

jsHint 配置参数小结的相关文章

深入理解JVM一配置参数

一.JVM配置参数分为三类参数: 1.跟踪参数 2.堆分配参数 3.栈分配参数 这三类参数分别用于跟踪监控JVM状态,分配堆内存以及分配栈内存. 二.跟踪参数 跟踪参数用于跟踪监控JVM,往往被开发人员用于JVM调优以及故障排查. 1.当发生GC时,打印GC简要信息 使用-XX:+PrintGC或-verbose:gc参数 这两个配置参数效果是一样的,都是在发生GC时打印出简要的信息,例如执行代码: 1: public static void main(String[] args) 2: { 3

关于ntp时间同步理论及配置参数-20170804

[原创]关于ntp时间同步理论及配置参数20170804 前言 NTP(Network Time Protocol,网络时间协议)是用来使网络中的各个计算机时间同步的一种协议.无论是平时使用的私人计算机还是在工作中搭建的服务器集群,时间的统一性和准确性是十分重要的.它是用来同步网络中各个计算机的时间的协议. 在计算机的世界里,时间非常地重要,例如对于火箭发射这种科研活动,对时间的统一性和准确性要求就非常地高,是按照A这台计算机的时间,还是按照B这台计算机的时间?NTP就是用来解决这个问题的,NT

linux学习笔记——搭建基于nginx的web服务器、多核配置、nginx配置参数

############ 认识nginx #############Nginx:(发音同 engine x)是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行.由俄罗斯的程序设计师Igor Sysoev所开发,最初供俄国大型的入口网站及搜寻引擎Rambler(俄文:Рамблер)使用.  其优点是轻量级(占有内存少),高并发(并发能力强),事实上nginx的并发能力确实在同类型的网页伺服器中表现较好.目前中国大陆使用ngi

网站前端_KindEditor.基础入门.0001.KindEditor_3.4.2配置参数?

初始方式: 说明: 在快速入门中使用KE.show({ .. .})来初始化了一个编辑器,具体进入js/kindeditor.js下可以看到KE对象下的show方法先调用了KE的init方法然后又调用了其event事件对象的ready方法,内部其实是调用的KE的create方法,传递的参数为args的id属性,所以可通过2种方式来初始化编辑器 # 方式一 : # 方式二 : 注意: 无论使用哪种方式初始化编辑器,都需要传递配置对象{ ... },配置对象中id属性是必须配置的,其它的属性默认采用

项目中Zookeeper配置参数笔记

ZooKeeper是以Fast Paxos算法为基础的,Paxos 算法存在活锁的问题,即当有多个proposer交错提交时,有可能互相排斥导致没有一个proposer能提交成功,而Fast Paxos作了一些优化,通过选举产生一个leader (领导者),只有leader才能提交proposer,具体算法可见Fast Paxos.因此,要想弄懂ZooKeeper首先得对Fast Paxos有所了解. ZooKeeper的基本运转流程: 1.选举Leader. 2.同步数据. 3.选举Leade

笔记01 登录、常用配置参数、Action访问Servlet API 和设置Action中对象的值、命名空间和乱码处理、Action中包含多个方法如何调用

Struts2登录 1. 需要注意:Struts2需要运行在JRE1.5及以上版本 2. 在web.xml配置文件中,配置StrutsPrepareAndExecuteFilter或FilterDispatcher 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <filter>     <filter-name>struts2</filter-name>     <filter-class>org.apache.struts2.di

【原创】MySQL性能优化-I/O相关配置参数

本文介绍InnoDB和MyISAM两种存储引擎的I/O相关参数配置. 1.InnoDB  I/O相关配置 Innodb是一种事务型的存储引擎,为了减少提交事务时产生的io开销,innodb采用了写日志的方式,也就是在事务提交的时候会先写入事务日志中 ,而不是每次都把修改或者数据刷新到数据文件中,这样做是为了提高io的性能,因为事务的修改,使数据和索引文件通常都会映射到表空间随机的位置,所以刷新数据变更到数据文件会产生大量随机io,而记录日志是顺序io,一旦事务日志安全的写到磁盘中,数据就算是持久

Java虚拟机配置参数(目前不够完善)

最近看了有关虚拟机的书籍,发现有很多虚拟机配置参数不知道,特来记录一下, -XX: MaxDirectMemorySize--->设置直接内存,不设置与Java堆内存最大值一致 -XX:PermSize和-XX:MaxPermSize--->设置方法区大小 -Xoss--->设置本地方法栈大小 -XX:+HeapDumpOnOutOfMemoryError--->生成内存溢出快照(查看内存溢出快照的工具,安装JDK时,有自带了几种工具,具体怎么使用百度.谷歌) -XX:+/-Use

nginx配置参数详解

配置参数详解 user nginx nginx ; Nginx用户及组:用户 组.window下不指定 worker_processes 8; 工作进程:数目.根据硬件调整,通常等于CPU数量或者2倍于CPU. error_log  logs/error.log;  error_log  logs/error.log  notice;  error_log  logs/error.log  info;  错误日志:存放路径. pid logs/nginx.pid; pid(进程标识符):存放路径