不断收到“意外”(空格)错误?

时间:2017-08-31 20:39:25

标签: javascript jslint

在jsLint中我一直得到这5个错误:

'意外'(空间)'案例夏天。

'意外'(空间)'案例冬天。

'意外'(空格)'案件失败。

'意外'(空格)'案例秋天。

'意外'(空格)'案例春天。

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;

1 个答案:

答案 0 :(得分:0)

这里已经足够了,最好向您指出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,表示你想要,&#34;容忍空白混乱&#34;。

/*jslint: white:true */
var season = prompt("what is your favourite  season");
// ...

但现在你要修复一大堆新事物......

  • 预期&#39;切换&#39;成为一个职能部门。
  • 未申报&#39;提示&#39;。
  • 未申报&#39;警告&#39;。

第一个很容易;你只需要包装一个函数。

后两个是因为你没有告诉JSLint期望的上下文,并且不确定alertprompt是否是有效的呼叫。您可以告诉它alertprompt是具有其他类型指令的全局变量global directive,但请记住......

  

强烈建议不要使用全局变量,但遗憾的是网页浏览器需要使用它们。

因此,要使用globals指令, 还需要在我们之前添加的jslint注释中设置browser指令。

信不信由你,下面的这个烂摊子已经发现了!在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;
}
}

promptalert是特殊情况。这些是您在浏览器开发过程中使用的功能。不要在全局指令中设置它们,而是像这样使用devel指令......

我还要取消white:true并清理这个东西,以便它可读......请注意,没有尾随空格,我们有{{ 1}}语句与case对齐,这对我来说似乎很奇怪。

switch

现在我们有一个JSLint - 快乐,干净利落的代码片段。我可能会将/*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已经开心了。

希望有所帮助,并为您提供使用JSLint的一点启动。