有这样一个任务:编写一个循环,提示输入一个大于100的数字。如果访问者输入了不同的数字,请他再次输入,以此类推。
循环应该询问一个数字,直到访问者输入一个大于 100 的数字或按下取消 (ESC) 按钮。
我写了这段代码
outer: while (true) {
let value = +prompt('Введите число больше 100?', 0);
if (value < 100) {
continue outer;
} else if (!value || value > 100) {
break outer;
}
}
为什么取消的时候还是提示?
单击取消按钮时,它
prompt返回null,当转换为数字时,它变为0。因此,选择了一个选项
value < 100并且循环不会结束。null在转换为数字之前值得检查:笔记:
不是很清楚为什么标签处于循环的第一级?它通常用于继续/停止在使用命令的循环之外的循环。
当取消来
null时,它会变成0,因此它起作用了value < 100在转换为数字之前
null需要检查,以便区分 0 和null如果你输入一个不转换成数字的字符串,例如
'qwe',那么它会写而不是数字NaN,所以你还需要检查它在循环中写
elseafter与在函数中写after -abreak/continue一样没有意义,因此可以将其删除elsereturn鉴于备注,您的代码可以这样编写: