javascript - 试图了解我的 JS 时钟上的错误
问题描述
我试图完成一个用于 JavaScript 的 OpenClassRoom 练习,在这个练习中,你必须编写一些代码来“告诉你”它会在一秒钟内完成,所以有我的代码,但是当我运行它时,我有一个错误:未捕获的 ReferenceError:heures 未在 :6:18 定义
let heures = 14;
let minutes = 17;
let secondes = 59;
if ((minutes === 59) && (secondes === 59))
{
let heures = Number(heures)+1
let minutes = 00
let secondes = 00
console.log(heures+":"+minutes+":"+secondes)
}
else if ((secondes === 59) && (minutes !== 59))
{
let heures = heures
let minutes = minutes+1
let secondes = 00
console.log(heures+":"+minutes+":"+secondes)
}
else if ((heures === 23) && (minutes === 59) && (secondes === 59))
{
let heures = 00
let minutes = 00
let secondes = 00
console.log(heures+":"+minutes+":"+secondes)
}
else if ((heures !== 23) && (minutes !== 59) && (secondes !== 59))
{
let heures = heures
let minutes = minutes
let secondes = secondes + 1
console.log(heures+":"+minutes+":"+secondes)
}
谢谢你的帮助,对不起我的英语
解决方案
您正在重新声明let
导致错误的变量。let
用于创建“块范围的变量”,并且由于您在if
语句的不同块中使用它,因此您实际上是在创建具有相同名称但具有不同范围的不同变量。
您只需要声明一次变量,然后您可以根据需要为它重新分配一个值。
let heures = 14;
let minutes = 17;
let secondes = 59;
if ((minutes === 59) && (secondes === 59)) {
heures = Number(heures) + 1;
minutes = 00;
secondes = 00;
//console.log(heures+":"+minutes+":" + secondes) ;
} else if ((secondes === 59) && (minutes !== 59)) {
//heures = heures; <-- Setting a variable to itself makes no change to the program
minutes = minutes + 1;
secondes = 00;
//console.log(heures+":"+minutes+":"+secondes) ;
} else if ((heures === 23) && (minutes === 59) && (secondes === 59)) {
heures = 00;
minutes = 00;
secondes = 00;
//console.log(heures+":"+minutes+":"+secondes) ;
} else if ((heures !== 23) && (minutes !== 59) && (secondes !== 59)) {
//heures = heures; <-- Setting a variable to itself makes no change to the program
//minutes = minutes; <-- Setting a variable to itself makes no change to the program
secondes = secondes + 1;
//console.log(heures+":" + minutes + ":" + secondes);
}
// No need to have this in each branch of the if statement
// when you want to do it in all cases.
console.log(heures+":" + minutes + ":" + secondes);
推荐阅读
- python - Selenium 没有找到带类的部分列表?
- c# - WPF 更改按钮颜色,已定义样式
- python - 如何通过 selenium 使用 python 实现单击元素名为 data1?
- oracle - 如何比较系统月份和销售月份?
- visual-studio - 无法安装 VS 代码
- javascript - 使用 JavaScript 在字符串中按位置突出显示部分字符串
- vb.net - 缺少 WebRequest 内容处置
- microsoft-graph-api - 如何获得在线见面列表“立即见面”-Microsoft graph api
- node.js - 无法对管理 API 进行原始查询在 MongoDB Atlas 上不起作用
- angular - 无需重绘 UI 的角度路由返回