0
var count=1;
var temp="";
var end= window.prompt('enter the length');
var b = parseInt(end);

while(true){
  temp+="-";
  count++;
  if(count>b&&end!=null){
console.log("enter:" +end+ "= " + temp );
break;
 }
}

我有这段代码,假设用户输入的每个数字都给我“-”的输出,所以如果我用户输入 2,则输出应该是“--”。但是当用户输入一个字符串或数字零时,输出应该只是“-”。

4

2 回答 2

1

正如评论所说,这实际上只是一种更简单的做你想做的事情的方法,isNaN你需要验证你是否真的得到了一个数字。

var length = parseInt(window.prompt('enter the length'), 10);
alert(new Array(isNaN(length) ? 2 : length  + 1).join('-'));
于 2012-12-09T00:48:52.170 回答
0
var count = 1;
var temp = "";
var end = window.prompt('enter the length');
var b = parseInt(end);

while (true) {
    temp += "-";
    count++;

    // if the user entered a valid integer that is not 0
    if (!isNaN(b) && b !== 0) {
        if (count > b && end != null) {
            console.log("enter:" + end + "= " + temp);
            break;
        }

    // else the user entered 0 or some other input that isn't an integer
    } else {
        console.log("enter:" + end + "= -");
        break;
    }
}​

小提琴

摆弄警报

于 2012-12-08T23:47:27.050 回答