javascript使用全局变量

时间:2011-04-12 00:00:23

标签: 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不是函数

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

2 个答案:

答案 0 :(得分:5)

问题是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);
}

答案 1 :(得分:0)

代码是对的 但是作为Box9输入代码

您必须在函数内部分配变量 就像那个'

function time() {
     var current_times = new Date();
     var future_times = new Date();

     current_times = current_times.setMinutes(current_times.getMinutes());
     future_times = future_times.setMinutes(future_times.getMinutes() + 1);     

     document.write(current_times);
     document.write("<br>"+future_times);
}