Javascript 使用变量一次

Javascript 使用变量一次,javascript,jquery,Javascript,Jquery,我有代码,每10秒在日历中重新绘制事件。但在此之前,它需要正确渲染(如果是过去时间或未来时间,则使用不同的颜色),因此我使用变量now和time来获取时间。但是现在我得到的是第一个设置的时间,它总是一样的,我需要得到时间,它是用setInterval函数设置的。我可以用第一个变量时间只使用一次吗,或者有其他解决方法吗 var now = new Date(); var time = now.getTime(); setInterval(function(){ var now = new

我有代码,每10秒在日历中重新绘制事件。但在此之前,它需要正确渲染(如果是过去时间或未来时间,则使用不同的颜色),因此我使用变量
now
time
来获取时间。但是现在我得到的是第一个设置的
时间
,它总是一样的,我需要得到
时间
,它是用setInterval函数设置的。
我可以用第一个变量
时间
只使用一次吗,或者有其他解决方法吗

var now = new Date();
var time = now.getTime();
setInterval(function(){
    var now = new Date();
    var time = now.getTime();
    $('#calendar').fullCalendar('refetchEvents');
},  10 * 1000);

if (eventTime < time) {
    //do something
}else {
    // do something else
}
var now=newdate();
var time=now.getTime();
setInterval(函数(){
var now=新日期();
var time=now.getTime();
$(“#日历”).fullCalendar('refetchEvents');
},  10 * 1000);
if(eventTime
在setInterval的函数中,从
现在
时间
中删除
变量
,然后在那里重新创建这些变量

为了访问新值,请在更改
时间后调用所有内容

像吼叫一样尝试

var now = new Date();
var time = now.getTime();
setInterval(function(){
    now = new Date();
    time = now.getTime();
    $('#calendar').fullCalendar('refetchEvents');

    if (eventTime < time) {
       //do something
     }else {
       // do something else
     }
 },  10 * 1000);
var now=newdate();
var time=now.getTime();
setInterval(函数(){
现在=新日期();
time=now.getTime();
$(“#日历”).fullCalendar('refetchEvents');
if(eventTime
在setInterval的函数中,从
现在
时间
中删除
变量
,然后在那里重新创建这些变量

为了访问新值,请在更改
时间后调用所有内容

像吼叫一样尝试

var now = new Date();
var time = now.getTime();
setInterval(function(){
    now = new Date();
    time = now.getTime();
    $('#calendar').fullCalendar('refetchEvents');

    if (eventTime < time) {
       //do something
     }else {
       // do something else
     }
 },  10 * 1000);
var now=newdate();
var time=now.getTime();
setInterval(函数(){
现在=新日期();
time=now.getTime();
$(“#日历”).fullCalendar('refetchEvents');
if(eventTime
由于您在函数中使用了
var
关键字,因此在函数范围内再次创建了
time
now
。这意味着它们与函数外部的变量不同,尽管它们具有相同的名称。如果删除该关键字,则全局范围内变量的值将更新,您可以从外部访问函数设置的值

另外,我将把if语句放在intervalled函数中。JavaScript将在将时间变量设置为新值之前执行if语句,否则


请参阅:

由于您在函数中使用了
var
关键字,因此在函数范围内再次创建了
time
now
。这意味着它们与函数外部的变量不同,尽管它们具有相同的名称。如果删除该关键字,则全局范围内变量的值将更新,您可以从外部访问函数设置的值

另外,我将把if语句放在intervalled函数中。JavaScript将在将时间变量设置为新值之前执行if语句,否则


请参阅:

var time=now。在
setInterval
中,getTime()正在创建一个名为
time
的单独变量,该变量仅限于
setInterval
函数内部。只需删除
var
部分,它将引用原始的
time
变量。您从哪里获取
eventTime
?第二段代码应该做什么,为什么它在这个范围内?为什么只渲染一次(在获取日历事件之前)?这个间隔看起来可能会产生级联错误(考虑到时差有多长,目前不太可能)您可能需要考虑切换到<代码> SETTIMEOUT> <代码>循环>代码> var time =现在。GETTIMEY()/代码>在您的代码> SETTIMECTION<代码>中创建了一个单独的变量,称为“代码>时间<代码>,它仅限于<代码> SETTIMECTION/COD>函数。只需删除
var
部分,它将引用原始的
time
变量。您从哪里获取
eventTime
?第二段代码应该做什么,为什么它在这个范围内?为什么只渲染一次(在获取日历事件之前)?这个间隔看起来可能会产生级联错误(考虑到时差有多长,目前不太可能)您可能需要考虑切换到<代码> SETTIMEOUT环No.0。其他地方只有
var
语句,但不要完全忽略它们。抱歉@Bergi我没有理解你的意思。我是说删除
var
不是解决方案,因为那样会创建一个全局变量。不。其他地方只有
var
语句,但不要完全忽略它们。抱歉@Bergi我没有理解你的意思。我是说删除
var
不是解决方案,因为那样会创建一个全局变量。