我在哪里可以发表评论? JSLint抱怨这个位置

时间:2013-09-25 19:09:15

标签: javascript jslint

我在项目上运行JSLint,我遇到了这个错误:

  

预计}else

之间只有一个空格

在这段代码上:

// Check for the existance of the file created by firstrun.js
if (runOnce.exists) {
    window.location = 'app:/core/firstrun.html';
}

// Check for version info
else if (!versionInfo.exists) {
    window.location = 'app:/core/createVersion.html';
}

// Check for version info行明显导致问题;但是克罗克福德会把我的评论放在哪里?

我显然可以将else if更改为if,因为第一个if包含重定向;但我有其他评论if/else if/else包含重定向。

3 个答案:

答案 0 :(得分:2)

我知道这听起来很奇怪,但您可以尝试将其与else内联 像这样:

else if (!versionInfo.exists) { // Check for version info    
        window.location = 'app:/core/createVersion.html';    
}
来自JsFiddle的JSHint说这段js在语法上是有效的:/

答案 1 :(得分:2)

看起来有点奇怪,但我使用这种风格。

if (runOnce.exists) {
    // Check for the existance of the file created by firstrun.js
    window.location = 'app:/core/firstrun.html';
} else if (!versionInfo.exists) {
    // Check for version info
    window.location = 'app:/core/createVersion.html';
}

老实说,在这种情况下,只要忘记JSLint 这些只是建议,而不是规则。我认为可读性在这里更为重要。

答案 2 :(得分:1)

设置JSLint选项以允许凌乱的空格,否则它会尝试强制执行自己的空白样式规则,这些规则很愚蠢(IMO):

/*jslint white: true */