Javascript 我不知道如何修复这个if语句
我有一个代码,假设用户输入的每一个数字的输出都是“-”,所以如果用户输入2,输出应该是“-”。但是,当用户输入字符串或数字0时,输出应仅为“-”Javascript 我不知道如何修复这个if语句,javascript,Javascript,我有一个代码,假设用户输入的每一个数字的输出都是“-”,所以如果用户输入2,输出应该是“-”。但是,当用户输入字符串或数字0时,输出应仅为“-” 这实际上只是一种简单的方法,正如评论所说,isNaN是您需要验证您是否确实得到了一个数字 var count = 1; var temp = ""; var end = window.prompt('enter the length'); var b = parseInt(end); while (true) { temp += "-";
这实际上只是一种简单的方法,正如评论所说,
isNaN
是您需要验证您是否确实得到了一个数字
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;
}
}
解释你遇到的问题。如果用户输入一百万,它是输出一百万还是仅仅七个?它是打印一百万个?那么我猜isNaN是正确的答案,下面有一个答案似乎是正确的?是的,答案是检查值是否是数字,即isNaN,下面已经给出了答案。@java-您是从JSFIDLE复制代码的吗?如果是这样的话,请注意结尾的“流氓”角色。
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;
}
}
var length = parseInt(window.prompt('enter the length'), 10);
alert(new Array(isNaN(length) ? 2 : length + 1).join('-'));