2017-08-31 76 views
-2

in jsLint我不断收到这5个错误:不断收到'意外'(空间)'错误?

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

'意外'(空间)'案件冬季。

'意外'(空间)'情况下降。

'意外的'(空间)'案件秋天。

'Unexpected'(space)'case spring。

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

很难帮助你的代码格式化出现毛病。很可能在你的case语句附近有*额外的空间*,但是除非代码在这里显示,否则我们无法知道,因为它实际上在文件中。说实话,我会在你的“case”声明之后寻找额外的空格。 –

+2

欢迎来到StackOverflow。请阅读[帮助中心](https://stackoverflow.com/help)。在您的特定问题中,您可以使用代码格式更好地显示错误消息。此外,导致此错误的代码对于帮助您是必要的。 – Pac0

+1

这只是一个代码格式化消息。如果你不想看到它们,要么确保你不需要额外的空白处;或打开该选项忽略空白混乱 –

回答

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,这表明你想要“容忍空白乱七八糟”。

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

但现在你将有一个新事物整体转换,以修复...

  • 预期的“开关”是一个功能。
  • 未声明'提示'。
  • 未声明'警报'。

第一个很容易;你只是包装在一个功能。

第二个在那里,因为你没有告诉JSLint期望的上下文,并且不确定alertprompt是否为有效调用。你可以告诉它alertprompt与其他类型的指令时,global directive全局,但请记住......

全局变量的使用是极力劝阻,但不幸的是Web浏览器需要使用它们。

所以使用全局指令,你还需要设置browser指令在我们先前添加的JSLint的评论。

不管你信不信,下面这个烂摊子已经丢了!试试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并清理这个东西,使它可读...请注意,没有尾部空格,并且我们有case陈述排列在switch,这对我来说最初看起来很奇怪。

/*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快乐,干净的空白的代码段。我可能会将alert移动到最后,并将值分配给交换机中的字符串,但JSLint已经很开心。

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