这里发生的事情已经足够多,最好将您指向 JSLint 说明,以了解未来会发生什么。你可以在这里找到它们:http://jslint.com/help.html
但这是你的问题......
TL;DR:主要是抱怨您的 case 语句后面有尾随空格。
打开这个...
case "summer": // <<< there's a space after the colon
...进入这个...
case "summer":// <<<< now there's not!
更长:
您可以通过在文件顶部添加 JSLint Directive 来解决间距错误。这里你想要的是white:true,这表明你想要“容忍空白混乱”。
/*jslint: white:true */
var season = prompt("what is your favourite season");
// ...
但是现在你要解决一大堆新问题...
- 预期“开关”在函数中。
- 未声明的“提示”。
- 未声明的“警报”。
第一个很容易;你只需包装一个函数。
后两个存在是因为您没有告诉 JSLint 期望什么上下文,并且不确定 alert 和 prompt 是否是有效调用。你可以告诉它alert 和prompt 是带有另一种指令global directive 的全局变量,但请记住...
强烈建议不要使用全局变量,但不幸的是,Web 浏览器需要使用它们。
所以要使用 globals 指令,您还需要在我们之前添加的 jslint 注释中设置 browser 指令。
信不信由你,下面这个乱七八糟的东西,已经是 lints 了!试试JSLint.com。
/*jslint white:true, browser:true */
/*global alert, prompt */
function seasonCheck() {
"use strict";
var season = prompt("what is your favourite season");
switch (season) {
case "summer":
alert("i love summer too");
break;
case "winter":
alert("i love winter too ");
break;
case "spring":
alert("i love Spring too");
break;
case "fall":
alert("i love Fall too");
break;
case "autumn":
alert("i love autumn too");
break;
}
}
但prompt 和alert 是特例。这些是您将在浏览器开发期间使用的功能。不要在全局指令中设置它们,而是像这样使用devel 指令......
我还要去掉 white:true 并清理这个东西以便它可读......请注意,没有尾随空格,并且我们将 case 语句与 @987654343 对齐@,一开始我觉得很奇怪。
/*jslint devel:true */
function seasonCheck() {
"use strict";
var season = prompt("what is your favourite season");
switch (season) {
case "summer":
alert("i love summer too");
break;
case "winter":
alert("i love winter too ");
break;
case "spring":
alert("i love Spring too");
break;
case "fall":
alert("i love Fall too");
break;
case "autumn":
alert("i love autumn too");
break;
}
}
现在我们有了 JSLint-happy、干净的空白代码。我可能会将alert 移到最后并为您的开关中的字符串分配值,但 JSLint 已经很高兴了。
希望对您有所帮助,并为您提供一些使用 JSLint 的快速入门。