Javascript 语法错误:缺少;在陈述之前:试着做一个时钟
我正在尝试用javascript制作一个简单的时钟。但出于某种原因,我一直在犯这个错误。据我所知,没有任何分号丢失。代码如下:Javascript 语法错误:缺少;在陈述之前:试着做一个时钟,javascript,Javascript,我正在尝试用javascript制作一个简单的时钟。但出于某种原因,我一直在犯这个错误。据我所知,没有任何分号丢失。代码如下: function clockGen() { var time = new Date(); var hour = time.getHours(); var min = time.getMinutes(); var sec = time.getSeconds(); document.getElementById('time').innerHTML = hour + ":"
function clockGen() {
var time = new Date();
var hour = time.getHours();
var min = time.getMinutes();
var sec = time.getSeconds();
document.getElementById('time').innerHTML = hour + ":" min + ":" + sec;
var refresh = setTimeout("clockGen()", 1000);
}
由于某种原因,它一直给我标题中显示的错误。你能告诉我正确的方向吗?你的车缺了一个加号:
document.getElementById('time').innerHTML = hour + ":" min + ":" + sec;
相反,它应该是:
document.getElementById('time').innerHTML = hour + ":" + min + ":" + sec;
您没有缺少任何分号。但“缺少分号”的真正含义是“解释器找到了它认为是语句结尾的东西,但它没有分号。因此我不知道该如何处理这段代码。也许它应该是语句结尾,也许不是。因为作者没有明确说明,所以最安全的选择是抱怨并要求他们更清楚。” 选中此行:
document.getElementById('time').innerHTML = hour + ":" min + ":" + sec;
// ^^^^^^
你错过了一个
+
。好吧,我现在觉得自己很愚蠢。我将永远永远隐藏它也是一种很好的做法,不要将字符串与setTimeout
或setInterval
一起使用,因为这通常会导致无法预见的问题。因此,您应该将setTimeout
更改为var refresh=setTimeout(clockGen,1000)代码>。这样做的原因是,如果您为它提供一个字符串,它将使用javascript中的eval
方法,这通常是一种不好的做法!!