'let hours'변수를 클래스와 비교해야합니다. 비교 작업은 'utcChange'(버튼을 클릭 한 후)이라는 별도의 기능으로 수행해야합니다. 나는 이것이 처음부터이 변수를 선언한다면 어디서나 액세스 할 수 있다고 생각했다. 이유문 내부에 가있는 경우 utcChange 기능이 작동하지 않습니까?전역 변수가 허용 되더라도 클래스 내부에있는 변수의 값을 비교할 수 없습니다.
let hours;
class Clock {
el: Element;
constructor(element) {
this.el = element;
setInterval(() => this.run(), 1000)
}
run() {
var time = new Date();
let hours = time.getHours()+utcValue;
var hoursChanged = hours.toString();
var minutes = time.getMinutes().toString();
var seconds = time.getSeconds().toString();
if (hoursChanged.length < 2) {
hoursChanged = '0' + hoursChanged;
}
if (minutes.length < 2) {
minutes = '0' + minutes;
}
if (seconds.length < 2) {
seconds = '0' + seconds;
}
var clockStr = hours + ' : ' + minutes + ' : ' + seconds;
this.el.textContent = clockStr;
}
}
var clock = new Clock(document.getElementById('tsClock'));
var utcButton = document.getElementById('button');
utcButton.addEventListener("click", utcChange);
var utcValue = 0
function utcChange(){
if (hours < 23) {
utcValue += 1
}
}
난 당신이 전역 변수를 초기화하는 것을 볼니까. 또한 오류가 발생하면 붙여 넣을 수 있습니까? –