有许多JSLint options用于配置JSLint可能忽略代码质量问题的范围。
对于布尔选项,Web界面允许您在true
,false
和default
的选项之间切换。这意味着如果给定选项没有选择显式值,则将使用默认值或隐式值。
许多选项允许容忍JavaScript的某些“坏”用法,这意味着默认值为“false”。因为JSLint的一个目的是阻止“坏”用途。
如果仅true
或false
是可能的选择,false
是默认选项,则可能需要常规复选框或任何其他提供二进制而非三元选择的输入用过的。鉴于网络界面允许选择恢复为default
,表明false
可能并非总是作为给定选项的默认选择。
我不清楚检查latest source如果没有明确选择,期权的选择将采取什么值。
对于所有JSLint选项,使用了什么默认值?
我是否正确假设布尔选项默认为'false'(如果未指定)并且整数选项(缩进,maxerr和maxlen)默认为这些值present in the source?
答案 0 :(得分:2)
在JSLint中,默认情况下所有布尔选项都是false
。这实际上意味着JSLint尽可能严格。设置后,所有选项都将减少对代码的限制。
我认为Web界面使用那些“true”/“false”/“default”切换的原因是global
指令存在不同的行为。任何全局标识符的默认状态都是“不存在” - 单击其中一个以将一组全局标识符添加为true
,再次单击将其设置为false
,然后再次单击以删除该标识符标识符集。
如果使用true
列出全局标识符,那么JSLint在遇到分配时不会抱怨。如果false
,则对全局标识符的分配将生成警告。同样,false
是默认值:
/*global $ */ // Define $ globally, don't allow assignments
/*global $:false */ // Equivalent to the above
/*global $:true */ // Allow assignment