我在项目上运行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
的不包含重定向。
答案 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 */