JavaScript 使用全局变量

标签 javascript

似乎无法让它发挥作用。

 var current_times = new Date();
 var future_times = new Date();

 function time(){
 current_times = current_times.setMinutes(current_times.getMinutes());
 future_times = future_times.setMinutes(future_times.getMinutes() + 1);     
 }

我得到的错误是:current_times.getMinutes 不是一个函数

请注意,这确实有帮助,但是时间函数是从在 body 负载时启动的函数调用的。

最佳答案

问题是 setMinutes返回一个数字,而不是 Date对象。

该函数在您第一次调用时将起作用,但在第二次调用时current_timesfuture_times将是数字,因此不会有 getMinutes功能。自 setMinutes()修改Date解决方案是不重新分配变量,而不是生成新的对象。


此外,如果我正确理解你的意图,你的代码可以简化为:

var current_times, future_times = new Date();

function time() {
    current_times = new Date();
    future_times.setMinutes(current_times.getMinutes() + 1);
}

关于JavaScript 使用全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5628914/

相关文章:

javascript - 如何捕获变量中 HTML 脚本标记的结果?

javascript - 如何在 react 应用程序中从本地浏览器存储存储和检索字符串?

javascript - 根据另一个选择的值隐藏一个选择

javascript - 获取鼠标相对于放置的 div 的位置

Javascript 验证,其中字符串仅由任意数量的空格组成

javascript - 使用 Ajax 分页时缺少元素(Facebook Like 按钮)

javascript - sails js 中的模型关联

javascript - 是否可以在动态添加的文本输入上全局捕获 keydown?

javascript - 刷新位于不同域的 iframe

javascript - Node Js mysql(和 mysql2) ECONNRESET