javascript - 让变量发出
问题描述
我使用let 变量是因为我想在 do-while 循环中访问Mistake 的变量。
我的主要目标是在 Mistake 为true时重复此循环。
然而,当 Mistake 为真并离开语句时,它显示Mistake 未定义,我不明白为什么,因为我的let 变量存在于这个循环中。
我的代码:
function CheckError()
{
do
{
let Mistake = false;
let Number = prompt("Choose a number between 1 - 4");
Number = parseInt(Number);
if(Number < 1 || Number > 4)
{
Mistake = true;
}
}while(Mistake == true);
}
CheckError();
解决方案
问题是 const 和 let 仅在它们定义的范围内可用,一种简单的描绘方式是,只要你有这个括号 {},并且里面有一个 const 或 let,它们在括号。
因此,您必须将其定义更高一级,如下所示:
function CheckError()
{
let Mistake;
do
{
Mistake = false;
let Number = prompt("Choose a number between 1 - 4");
Number = parseInt(Number);
if(Number < 1 || Number > 4)
{
Mistake = true;
}
} while(Mistake == true);
}
CheckError();
PS。请确保在循环中仍然将错误设置为false,否则一旦出错就会陷入循环。
推荐阅读
- django - 如何在 Heroku 中执行 redis-server.exe?
- mysql - 如何在 mysql 中创建具有案例逻辑的函数?
- azure-active-directory - 我可以使用 Graph API 代表来宾用户创建 Microsoft Teams 在线会议吗?
- python-3.x - Selenium 滚动元素,页面内
- magento-1.9 - 更改状态取决于吨子产品 magento 1.9
- python - 如何从 Python 脚本中获取返回类型
- c++ - 比较二进制数输入的字符时,在抛出 'std::out_of_range 的实例后调用终止
- python - django 按列计算行数
- javascript - Dexie 在保存到 indexeddb 时可以尊重 js 类 getter/setter 吗?
- html - 如何修复文本