我无法弄清楚如何解决这个if语句

时间:2012-12-08 23:41:34

标签: javascript

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,则输出应为“ - ”。但是当用户输入字符串或数字零时,输出应该只是“ - ”。

2 个答案:

答案 0 :(得分:1)

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

var length = parseInt(window.prompt('enter the length'), 10);
alert(new Array(isNaN(length) ? 2 : length  + 1).join('-'));

答案 1 :(得分: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;
    }
}​

FIDDLE

FIDDLE WITH ALERTS