我继承了一些稍微破解过的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).
有没有办法对这个工具有所了解?
答案 0 :(得分:1)
不幸的是,我没有找到一个简单的解决方案。我最终删除部分可疑的Javascript代码部分,因为我确定它没问题,然后重新运行JSHint以查看它将报告的新问题。在某些情况下,使用“首选”whitespacing格式化代码是有利的,可以消除几十个警告。