每次调用函数时在函数外部添加变量

时间:2013-09-10 17:47:29

标签: javascript add

我试图将函数的结果加起来,每次调用函数后,这是我的代码:

function computetime(result) {
var time=0;
var mytravelroute=result.routes[0];
for (i = 0; i < mytravelroute.legs.length; i++) {
    time += mytravelroute.legs[i].duration.value;
}

var totalSec = time;

我想在每次调用函数时加上“time”变量。现在“时间”变量每次重写,我需要每次捕获值。

有什么想法吗?免责声明:Prog lvl:peon。

4 个答案:

答案 0 :(得分:2)

var time=0;
function computetime(result) {

var mytravelroute=result.routes[0];
for (i = 0; i < mytravelroute.legs.length; i++) {
    time += mytravelroute.legs[i].duration.value;
}

var totalSec = time;

答案 1 :(得分:1)

看起来你只需要一个全局变量。

var totalSec;

function computetime(result) {
  var mytravelroute=result.routes[0];
  for (i = 0; i < mytravelroute.legs.length; i++) {
    totalSec += mytravelroute.legs[i].duration.value;
  }

答案 2 :(得分:1)

你可以这样做:

function computetime(result) {
    computetime.time = computetime.time || 0;
    var mytravelroute = result.routes[0];
    for (i = 0; i < mytravelroute.legs.length; i++) {
        computetime.time += mytravelroute.legs[i].duration.value;
    } 
}

答案 3 :(得分:1)

有很多方法可以做到这一点。它涉及封闭。你应该阅读javascript中的作用域和闭包。这是一种方法。

var tracker = {
   time: 0
   computetime: function computetime(result) {
       var mytravelroute=result.routes[0];
       for (i = 0; i < mytravelroute.legs.length; i++) {
           tracker.time += mytravelroute.legs[i].duration.value;
       }
       return tracker.time;
    }
}

tracker.computetime(result)