JavaScript程序,有什么问题?

时间:2011-10-01 14:55:16

标签: javascript error-handling interpreter

好的,我不知道在哪里看。实际上,我的口译员并没有给我任何回报。我没有收到警报或任何事情。

var string, output = "";
var counter = number(prompt("Where to start?");
while(; ; counter++){
  if(counter < 0){
    alert("Error.");
    break;
    }
  else if(counter => 0 >= 10){
    string += string;
    output += string + "\n";
    }
  else{
    alert("Too much.")
    break
    }
  }
alert(output);

3 个答案:

答案 0 :(得分:1)

1)要输入一个数字,你需要使用像“数字”这样的国会大厦N 2)取出“;;”为你的while循环。 3)线条关闭时需要使用分号(良好实践)。

var string, output = "";
var counter = Number(prompt("Where to start?"));
while(counter++){
  if(counter < 0){
    alert("Error.");
    break;
    }
  else if(counter >= 0 >= 10){
    string += string;
    output += string + "\n";
    }
  else{
    alert("Too much.");
    break;
    }
  }
alert(output);

GL

答案 1 :(得分:1)

您的代码存在许多语法错误(正如其他人所提到的),并且还有一些异常编写。

  • while循环只接受一个参数,看起来您打算使用for循环
  • 不需要变量string
  • 如果传递给它的参数不能作为数字计算,则
  • Number将返回NaN。代码也应该检查这个
  • 您的验证码在循环内。这将更有意义,因为它在循环之外
  • output将以尾随换行符结束。这可能是不可取的。为避免这种情况,您可以将output构建为值数组,然后join将它们添加到最后的换行符

如何将代码更改为此?

var counter = Number(prompt("Where to start?", "0"));
if (isNaN(counter)) {
    alert("You needed to enter a number");
}
else if (counter < 0) {
    alert("Error.");
}
else if (counter > 10) {
    alert("Too much.");
}
else {
    var output = [];
    for ( ; counter <= 10; counter++) {
        output.push(counter);
    }
    alert(output.join("\n"));
}

修改

你提到你还没有学过JavaScript数组,所以这里是else块的替代代码片段,它更接近你原来的方法,逐步构建字符串。 / p>

    var output = "";
    for ( ; counter <= 10; counter++) {
        output +=  counter + "\n";
    }
    alert(output);

答案 2 :(得分:0)

也许你的意思是

else if(counter => 0 && counter <= 10) {

因为您没有条件可以转到else声明。