jshint .jshintrc 的配置

文檔地址jquery

{
//
// 強制選項
//
    // When set to true, these options will make JSHint produce more warnings about your code.

    /**
     * 是否阻止位運算符的使用
     *
     * 有時候爲了快速取整或判斷,會使用一些位運算符,因此此項設置爲 false
     */
    "bitwise": false,
    /**
     * 是否要求變量都使用駝峯命名
     *
     * 默認開啓
     * 棄用,見jscs項目
     */
    "camelcase": false,
    /**
     * 是否要求 for/while/if 等循環和條件語句中老是使用花括號
     *
     *
     */
    "curly": false,
    /**
     * 是否強制使用嚴格等號
     *
     * 有時候須要判斷 null,因此默認不嚴格要求
     */
    "eqeqeq": false,
    /**
     * true: 默認要求全部函數運行在ES5
     * 棄用
     */
    "es3": true,
    "es5": true,
    "esnext": true,
    /**
     * 選擇ES版本,3,5,6
     */
    "esversion": 5,
    /**
     * for-in 語句是否要求過濾原型鏈上的對象
     *
     * 默認打開
     */
    "forin": true,
/**
     * 是否阻止修改或拓展基本對象(Array、Date 等)的原型鏈
     *
     * 原型鏈污染比較危險,默認打開
     */
    "freeze": true,
    /**
     * 變量只能在函數域上定義,在代碼塊上定義的變量給出警告
     */
    "funcscope": true,
    /**
     * 當使用JS保留字時,顯示警告
     */
    "futurehostile": true,
    /**
    *這個選項能夠用來指定一個沒有正式定義的全局變量的白名單。配置 globals在單個文件,看看內聯配置.
    */
    "globals": {
        "define": false,
        "module": true,
        "export": true,
        "console": false
    },
    /**
     * 是否要求自執行的方法使用括號括起  (function () { } ());
     * 默認打開
     * 棄用,見jscs項目
     */
    "immed": true,
    /**
     * 指定tab縮進寬度爲 2 個空格
     *
     * 棄用,見jscs項目
     */
    "indent": 2,
    /**
     * 要求變量在使用前聲明,
     */
    "latedef": true,
    /**
     * 代碼塊嵌套深度
     */
    "maxdepth": 2,
    /**
     * 最大錯誤提示數量,默認50
     */
    "maxerr": 50,
/**
     * 單行最大長度
     *
     * 棄用,見jscs項目
     */
    "maxlen": 50,
    /**
     * 設置函數正式參數的最大數量
     *
     */
    "maxparams": 4,
    /**
     * 一個函數內聲明語句的最大數量
     *
     */
    "maxstatements": 4,
    /**
     * 要求構造函數大寫
     *
     * 棄用,見jscs項目
     */
    "newcap": true,
    /**
     * 不容許使用 arguments.callee 和 arguments.caller
     */
    "noarg": true,
    /**
     * 不容許使用逗號
     */
    "nocomma": true,
    /**
     * 不容許空的代碼快,默認關閉
     *
     * 棄用,見jscs項目
     */
    "noempty": false,
    /**
     * 不容許使用 "non-breaking whitespace"。
     *
     * 這些字符在非 UTF8 頁面會致使代碼失效
     */
    "nonbsp": true,
    /**
     * 阻止直接使用 new 調用構造函數的語句(不賦值對象)
     *
     * // OK
     * var a = new Animal();
     *
     * // Warn
     * new Animal();
     */
    "nonew": true,
/**
     * 阻止直接使用 typeof 操做符
     *
     * 慎用
     */
    "notypeof": true,
    /**
    * 字符串引號
    *
    * 默認要求使用單引號
    true-- 代碼字符串禁止單引號雙引號混用,
    "single"--只容許單引號
    "double"--只容許雙引號。
    * 棄用,見jscs項目
    */
    "quotmark": "single",
    /**
    * 隱藏式聲明
    *
    "inner" - check for variables defined in the same scope only
    "outer" - check for variables defined in outer scopes as well
    false - same as inner
    true - allow variable shadowing
    */
    "shadow": "inner",
    /**
     *  禁止在沒必要要的時候使用分組運算符
     */
    "singleGroups": true,
    /**
     * 是要求否以 strict 模式檢查
     *
     * 該選項要求文件有 "use strict;"不全局要求,須要的模塊自行開啓
     */
    "strict": false,
    /**
     * 提示未定義的變量
     *
     * 未定義的變量會容易形成全局變量,該項開啓
     */
    "undef": true,
    /**
     * 提示未使用的變量
     * vars - to only check for variables, not function parameters
     * strict - to check all variables and parameters.
     * 默認開啓
     */
    "unused": true,
    /**
     * 是否禁止使用var
     * Use `let` or `const` instead.
     */
    "varstmt": true,
//
//Relaxing options
//
    //When set to true, these options will make JSHint produce fewer warnings about your code.

    /**
     * 不顯示缺乏分號警告
     */
    "asi": true,
    /**
     *  不顯示在 比較處使用了賦值 的警告信息。
     */
    "boss": true,
    /**
     * 不顯示代碼中使用的 debugger 語句默認給出的警告
     */
    "debug": true,
    /**
     * This option tells JSHint that your code uses ES3 array elision elements, or empty elements (for example, [1, , , 4, , , 7]).
     */
    "elision": true,
    /**
     * 不顯示關於 == null的警告
     * 當您想要檢查變量是否爲空或未定義時,這種比較每每頗有用。
     */
    "eqnull": true,
    /**
     * 不顯示關於 eval 的警告
     *
     */
    "evil": true,
    /**
     * 不顯示 在應該使用複製或函數調用的地方使用了表達式 的警告。
     */
    "expr": true,
    /**
     * 不顯示缺乏分號的警告
     */
    "lastsemic": true,
/**
     * 不顯示不安全的折行的警告
     *
     * 棄用,見jscs項目
     */
    "laxbreak": true,
    /**
     * 不顯示逗號放前面的警告,例如:
     *
     * 棄用,見jscs項目
     */
    "laxcomma": true,
    /**
     * 不顯示 在循環語句中定義函數 的警告
     */
    "loopfunc": true,
    /**
     * 不顯示 多行字符串 的警告
     */
    "multistr": true,
    /**
     * 不容許使用 ++ 和 -- 運算符
     *
     * 默認關閉
     */
    "plusplus": false,
    /**
     * 禁止關於__proto__屬性的警告
     */
    "proto": true,
    /**
     *  true: Prohibit use of empty blocks
     *  該選項控制形如 person['name'] vs. person.name的警告信息的顯示
     *  棄用,見jscs項目
     */
    "sub": true,
//
// Environments
//
    // These options let JSHint know about some pre-defined global variables.
    /**
     * 暴露瀏覽器屬性的全局變量,列如 window,document;
    注意:這個選項不暴露變量 alert或 console。
     */
    "browser": true,
    /**
     * 這個選項定義全局暴露的jQuery庫。
     */
    "jquery": true
}
相關文章
相關標籤/搜索