Javascript 尝试在我的时钟中应用setInterval失败

Javascript 尝试在我的时钟中应用setInterval失败,javascript,setinterval,Javascript,Setinterval,我每天都在自学JavaScript并尝试编写代码。我目前正试图建立一个简单的时钟,但我似乎无法让我的设定间隔工作。我试着把它放在不同的地方,但我认为它属于“时间”功能,所以应该放在后面。我想知道这是否与我调用函数的方式有关。我还不完全清楚什么时候用哪个方法调用。我们将非常感谢您的指导 var=function(){ //创建日期构造函数函数的新实例。 变量日期=新日期(); var today=函数(){ //创建一个工作日名称数组 var dayArray=[“星期日”、“星期一”、“星期二

我每天都在自学JavaScript并尝试编写代码。我目前正试图建立一个简单的时钟,但我似乎无法让我的设定间隔工作。我试着把它放在不同的地方,但我认为它属于“时间”功能,所以应该放在后面。我想知道这是否与我调用函数的方式有关。我还不完全清楚什么时候用哪个方法调用。我们将非常感谢您的指导

var=function(){
//创建日期构造函数函数的新实例。
变量日期=新日期();
var today=函数(){
//创建一个工作日名称数组
var dayArray=[“星期日”、“星期一”、“星期二”、“星期三”、“星期四”、“星期五”、“星期六”];
//提取日期。将返回数字表示形式。
var dayIndex=date.getDay();
//步骤4:使用工作日名称数组和工作日数字来显示工作日的文本版本。
var today=dayArray[dayIndex];
//步骤5:将结果放入网页上的span中
var x=document.getElementById(“day”).innerHTML=today;
}()
变量时间=函数(){
var hours=date.getHours();
var minutes=date.getMinutes();
var seconds=date.getSeconds();
分钟=分钟<10?“0”+分钟:分钟;
秒=秒<10?“0”+秒:秒;
//设定上午或下午
var amPm=小时数<12?“上午”:“下午”;
//设置为12小时时间格式
小时=小时>12?小时-12:小时;
//将午夜改为凌晨1点至12点
小时=(小时==0)?12:小时;
var y=document.getElementById(“时间”).innerHTML=“当前时间为”+hours+:“+minutes+”:“+seconds+”+amPm;
}()
设置间隔(时间,1000);
}

文件
简单约会练习
今天是

00:00

setInterval
的第一个参数需要是一个函数。您正在传递
time
变量,该变量包含

由于使用
()
跟随它,因此会立即调用它,因此返回值(
undefined
)会分配给
time


卸下
()
。不要立即调用该函数。

您可以使用
setInterval()
调用
daily()
,直接调用
time()
。此外,我还设置了一个小于一秒的间隔,以确保它更新到第二秒时更加准确

var=function(){
//创建日期构造函数函数的新实例。
变量日期=新日期();
var today=函数(){
//创建一个工作日名称数组
var dayArray=[“星期日”、“星期一”、“星期二”、“星期三”、“星期四”、“星期五”、“星期六”];
//提取日期。将返回数字表示形式。
var dayIndex=date.getDay();
//步骤4:使用工作日名称数组和工作日数字来显示工作日的文本版本。
var today=dayArray[dayIndex];
//步骤5:将结果放入网页上的span中
var x=document.getElementById(“day”).innerHTML=today;
}()
变量时间=函数(){
var hours=date.getHours();
var minutes=date.getMinutes();
var seconds=date.getSeconds();
分钟=分钟<10?“0”+分钟:分钟;
秒=秒<10?“0”+秒:秒;
//设定上午或下午
var amPm=小时数<12?“上午”:“下午”;
//设置为12小时时间格式
小时=小时>12?小时-12:小时;
//将午夜改为凌晨1点至12点
小时=(小时==0)?12:小时;
var y=document.getElementById(“时间”).innerHTML=“当前时间为”+hours+:“+minutes+”:“+seconds+”+amPm;
}();
};
设定间隔(白天,500)
简单日期练习
今天是


00:00

时间未定义,因为您正在立即调用该函数。感谢您的快速回复!我必须处理这件事并进行练习,但这似乎是我所需要的。我做到了这一点,并让它工作,虽然我仍然需要花更多的时间来充分理解它为什么工作!我还调整了间隔长度。谢谢你的帮助。
setInterval(time, 1000);
var time = function() {
    // A bunch of statements but no return statement
}()