Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript中的自动刷新功能_Javascript_Php - Fatal编程技术网

javascript中的自动刷新功能

javascript中的自动刷新功能,javascript,php,Javascript,Php,我想在javascript中自动更新函数time(),我已经编写了以下代码: var time = null; setInterval(function() { time = Date(); }, 1000); console.log(time); 但它在console.log中显示null。我想在变量time 怎么了?让我们把问题分解一下 这是在服务器端生成的,不能在客户端(代码实际运行的地方)重新计算 var-time=这里您正在重新声明(并通过此掩蔽)原始time变量 con

我想在javascript中自动更新函数time(),我已经编写了以下代码:

var time = null;
setInterval(function() {
      time = Date();
}, 1000);
console.log(time);
但它在console.log中显示null。我想在变量
time


怎么了?

让我们把问题分解一下

  • 这是在服务器端生成的,不能在客户端(代码实际运行的地方)重新计算

  • var-time=这里您正在重新声明(并通过此掩蔽)原始
    time
    变量

  • console.log(时间)
    这是在interval函数范围之外调用的,因此它只运行一次(在此期间,in将打印
    null
  • 您正在寻找类似以下内容:

    setInterval(function(){
        console.log(Date())
    }, 1000);
    
    如果希望变量在interval函数的作用域之外是可访问的,可以执行以下操作

    var time;
    setInterval(function(){
        time = Date();
        console.log(time);
    }, 1000);
    
    // Now the 'time' variable will be accessible and will hold the latest date value 
    // For example console.log(time)
    

    当然,您可以使用特定用途所需的任何日期/时间创建函数替换
    Date()

    您定义了新的计时器变量,但没有覆盖全局变量。 此外,您的console.log超出了间隔范围,因此您可以在更改之前打印该值

    以下代码可以工作:

    var time = null;
    setInterval(function() {
      time = "test";
      console.log(time);
    }, 1000);
    

    您是否正在尝试使用服务器端逻辑更新时间变量?在更改之前,您正在将该值记录到控制台。您还更改了重新声明的局部变量,而不是全局变量。您也可能有语法错误,这取决于服务器端代码输出的内容。您应该检查正在运行的实际客户端代码。此外,这还能做什么?您正在尝试每秒将变量设置为相同的值。总是相同的值。只需设置一次。使用ajax从“.php”文件中获取值,因为php在javascript之前运行,所以每次调用中只打印一个值:如果你想让它通过js使用,比如:这与OP的目标有什么关系?我解释了为什么他看到null以及重新定义时间变量@charlietflYes的问题,我想要,但我需要将
    Date()
    作为变量,以便在setInterval函数之外使用。@JohnDoe是否希望可以访问“time”变量?或者实际的“Date()”?我使用此脚本生成链接的变量
    time
    ,当用户访问页面时,当我有此javascript代码时,他将在那一刻获得时间,但如果它停留2、5或5秒,我希望得到最后一次,而不是在页面上输入的时间。