jshint 詳解

jshint是一個(gè)javaScript語法和風(fēng)格的檢查工具凹联,但檢查不出邏輯問題滤淳。

安裝
一爪飘、在sublime text 中使用jshint插件步驟:
(注:在為Sublime Text編輯器安裝Sublime-JSHint插件之前义起,要首先確保安裝了node.js)

方法1:
1 Ctrl+Shift+P 呼出Sublime命令面板
2 鍵入install,并選擇Package Control:Install Package
3 鍵入js gutter,并選擇JSHint Gutter

方法2:
1 獲取Sublime Text,可通過git命令悦施。

 git clone https://github.com/victorporof/Sublime-JSHint.git

2 打開 Sublime Text Package 文件夾。Preferences -> Browse Packages去团。
3 將步驟1中獲取到的 Sublime-JSHint 文件夾移到 Packages 文件夾中抡诞。
4 重啟 Sublime Text。

Sublime-JSHint使用
方法1:由菜單 Tools -> Command Palette(或快捷鍵 Ctrl+Shift+P)打開命令面板土陪。鍵入 jshint 并選擇 JSHint昼汗。
方法2:打開一 js 文件,并打開控制臺(tái)(View -> Show Console)鬼雀,在控制臺(tái)中鍵入 view.run_command("jshint")顷窒。
方法3:Ctrl+Shift+J(或者M(jìn)ac使用Cmd+Shift+J)
方法4:右鍵選擇JSHint

設(shè)置

  "lint_on_edit": false,

  // Configurable duration before re-linting.
  "lint_on_edit_timeout": 5,

  // Automatically lint when a file is loaded.
  "lint_on_load": false,

  // Automatically lint when a file is saved.
  "lint_on_save": false,

  // Highlight problematic regions when selected.
  "highlight_selected_regions": false,

  // Log the settings passed to JSHint from `.jshintrc`.
  "print_diagnostics": true

配置選項(xiàng)

"strict": true, //嚴(yán)格模式 參考文章(http://www.ruanyifeng.com/blog/2013/01/javascript_strict_mode.html)
"asi": true, //允許省略分號(hào)(寫上這條,規(guī)避檢查出很多警告  可以去掉)
"bitwise": true, //禁止使用位運(yùn)算符源哩,比如經(jīng)常把&&寫錯(cuò)& 規(guī)避此錯(cuò)誤
"noarg": true, //禁止使用.caller 和 .callee (ECMS5已經(jīng)禁用了此 可以去掉)
"eqeqeq": true, //禁止使用== 和 鞋吉!=  強(qiáng)制使用=== 和 !==
"undef": true, //禁止使用不在全局變量列表中的未定義變量
"curly": true, //循環(huán)或者條件語句必須使用花括號(hào)包住
"devel": true, //定義用于調(diào)試的全局變量:console,alert 
"jquery": true, //定義全局暴露的jQuery庫 (可以去掉)
"browser": true, //暴露瀏覽器屬性的全局變量 如window document
"evil": true, //禁止使用eval (可以去掉)
"quotemark":true (商榷)
"globals": {"$":true,"require":true,"FastClick":true,"Swiper"},

編輯器 VS Gulp_jshint
1 個(gè)人偏向于在編輯器中使用jshint,這樣不用在每個(gè)項(xiàng)目都配置励烦,同時(shí)也能約束項(xiàng)目之外的編輯谓着。
2 在編輯器中使用jshint 比在Gulp_jshint 的更實(shí)時(shí),更清晰坛掠。jshint有錯(cuò)誤,會(huì)在每一行有提示赊锚。而后者會(huì)在命令窗口提示治筒,不方便。
3 Gulp_jshint 還需要進(jìn)一步探查舷蒲。

項(xiàng)目中一些問題
無法識(shí)別的一些問題:

1 //= require chartjs/chart.core (解決掉了)
2 封閉空間上面的(未解決)耸袜;
3 引入插件的實(shí)例化:comRadar = new Chart(ctx).Radar()(解決掉了);
//配置參數(shù)
"globals": {"$":true,"require":true,"FastClick":true,"Swiper"},
4  var CardPopup = function(el, opts) {
        this.el = el;
        this.defaults = {};
        this.options = $.extend({}, this.defaults, opts);
    } (此處加封號(hào))
   CardPopup.prototype = {
        init: function() {
            var me = this,
                el = me.el;
            return me;
        },
    } (此處加封號(hào))
    $.fn.CardPopup = function(opts) {
        var com;
    } (此處加封號(hào))
5 A && B  
//要么寫成 if(A) B
//或者 /* jshint expr: true */
6 jshint 中希望 A.B  而不希望A[B]
7 /* jshint ignore:start */ 
var optionTemplate = Hogan.compile('<ul class="items options clearfix count-{{count}}">\
                                            {{#options}}\
                                            <li class="item option {{#selected}}selected{{/selected}}">\
                                                <div class="pie">\
                                                    <canvas class="canvas-outer" data-percent="{{value}}"></canvas>\
                                                    <div class="num">{{value}}%</div>\
                                                </div>\
                                                <p class="text">{{text}}</p>\
                                            </li>\
                                            {{/options}}\
                                        </ul>');
/* jshint ignore:end */
8  /*jshint scripturl:true*/  
data.top[i].redirect_url = data.top[i].redirect_url || 'javascript:void(0);';
9 $(subscribeData).each(function(index, element) {
    if (element == specialColumnId) {
       elSubscribe.removeClass('icon-jiadingyue').addClass('icon-yidingyue');
      }
   }) (是否加)
10 
/*jshint -W018 */
if (!!elForm.find('[name="comment[parent_id]"]').val() == true) {
      isReplyComment = true;
    }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市牲平,隨后出現(xiàn)的幾起案子堤框,更是在濱河造成了極大的恐慌,老刑警劉巖胰锌,帶你破解...
    沈念sama閱讀 217,907評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件荆忍,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡棺亭,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事消恍。” “怎么了恰矩?”我有些...
    開封第一講書人閱讀 164,298評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵萎胰,是天一觀的道長(zhǎng)屈藐。 經(jīng)常有香客問我,道長(zhǎng)锨推,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,586評(píng)論 1 293
  • 正文 為了忘掉前任公壤,我火速辦了婚禮换可,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘境钟。我一直安慰自己锦担,他們只是感情好俭识,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,633評(píng)論 6 392
  • 文/花漫 我一把揭開白布慨削。 她就那樣靜靜地躺著,像睡著了一般套媚。 火紅的嫁衣襯著肌膚如雪缚态。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,488評(píng)論 1 302
  • 那天堤瘤,我揣著相機(jī)與錄音玫芦,去河邊找鬼。 笑死本辐,一個(gè)胖子當(dāng)著我的面吹牛桥帆,可吹牛的內(nèi)容都是我干的医增。 我是一名探鬼主播,決...
    沈念sama閱讀 40,275評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼老虫,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼叶骨!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起祈匙,我...
    開封第一講書人閱讀 39,176評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤忽刽,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后夺欲,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體跪帝,經(jīng)...
    沈念sama閱讀 45,619評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,819評(píng)論 3 336
  • 正文 我和宋清朗相戀三年些阅,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了伞剑。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,932評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡扑眉,死狀恐怖纸泄,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情腰素,我是刑警寧澤聘裁,帶...
    沈念sama閱讀 35,655評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站弓千,受9級(jí)特大地震影響衡便,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜洋访,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,265評(píng)論 3 329
  • 文/蒙蒙 一镣陕、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧姻政,春花似錦呆抑、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至食绿,卻和暖如春侈咕,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背器紧。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工耀销, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人铲汪。 一個(gè)月前我還...
    沈念sama閱讀 48,095評(píng)論 3 370
  • 正文 我出身青樓熊尉,卻偏偏與公主長(zhǎng)得像罐柳,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子狰住,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,884評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • Sublime Text:一款具有代碼高亮硝清、語法提示、自動(dòng)完成且反應(yīng)快速的編輯器軟件转晰,不僅具有華麗的界面芦拿,還支持插...
    晚晴幽草閱讀 710,990評(píng)論 149 1,114
  • jshint是一個(gè)javaScript語法和風(fēng)格的檢查工具,但檢查不出邏輯問題查邢。 安裝 一蔗崎、在sublime te...
    簡(jiǎn)陌刀丶阿吉閱讀 1,100評(píng)論 0 0
  • 轉(zhuǎn)載自:http://lucida.me/blog/sublime-text-complete-guide/ Su...
    東引甌越閱讀 5,333評(píng)論 3 80
  • Sublime Text:一款具有代碼高亮、語法提示扰藕、自動(dòng)完成且反應(yīng)快速的編輯器軟件缓苛,不僅具有華麗的界面,還支持插...
    xiaotao123閱讀 9,494評(píng)論 0 27
  • Sublime Text:一款具有代碼高亮邓深、語法提示未桥、自動(dòng)完成且反應(yīng)快速的編輯器軟件,不僅具有華麗的界面芥备,還支持插...
    追風(fēng)逸少丶閱讀 11,322評(píng)論 1 34