我已经继承了一些稍微破损的JavaScript,并且每天经过几个小时不时地使用它,但对于什么地方出了问题,我没有任何有用的线索。
我发现了JSHint和JSLint,尽管它们看起来很有希望,但它们对细节的关注(例如花括号样式,缩进和函数标题后的空格不足)会产生太多警告,以至于在出现任何错误之前便停止警告(警告太多)。对琐碎问题的关注类似于在泰坦尼克号沉没时重新布置躺椅。
我经历了许多尝试关闭最麻烦的选项的尝试,以便发现一个真正的错误。例如,在JSHint中,我尝试了以下选项行(无包装):
/*jshint asi:true, white:false, forin:true, noarg:true, noempty:true,
eqeqeq:true, bitwise:true, undef:true, unused:true, browser:true,
maxerr:1000, smarttabs:true */
/*jshint asi:true, white:false, browser:true, maxerr:1000, smarttabs:true */
但是它仍然会喷出很多无用的东西
Line 2: required: 'The %s field is required.',
Mixed spaces and tabs.
...
Line 23: var rules = field.rules.split('|');
Empty block.
Line 25: (!field.value || field.value === '' || field.value === undefined))
Mixed spaces and tabs.
Line 26: document.getElementById("PASSWORD").style.display="";
Missing "use strict" statement.
...
Line 37:
Too many errors. (3% scanned).
有没有办法对这个工具产生某种影响?
最佳答案
不幸的是,我没有找到简单的解决方案。我确定可以的话,最后逐节删除了可疑Javascript代码的各个部分,然后重新运行JSHint以查看它将报告哪些新问题。在某些情况下,使用“首选”空格分隔代码格式以消除数十条警告是很方便的。
关于options - jshint:如何关闭警告并仅看到错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12185971/