Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.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_Add - Fatal编程技术网

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

Javascript 每次调用函数时在函数外部添加变量,javascript,add,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; 函数计算时间(结果){ var

我试图将函数的结果相加,每次调用函数后,我的代码如下:

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;
函数计算时间(结果){
var时间=0;
var mytravelroute=result.routes[0];
对于(i=0;i
每次调用函数时,我都要加上“time”变量。现在,每次都要重写“time”变量,每次都需要捕获值

有什么想法吗?免责声明:Prog lvl:paun.

var time=0;
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;
函数computetime(结果){ var mytravelroute=result.routes[0]; 对于(i=0;i
看起来您只需要一个全局变量

var totalSec;

function computetime(result) {
  var mytravelroute=result.routes[0];
  for (i = 0; i < mytravelroute.legs.length; i++) {
    totalSec += mytravelroute.legs[i].duration.value;
  }
var-totalSec;
函数computetime(结果){
var mytravelroute=result.routes[0];
对于(i=0;i
您可以执行以下操作:

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;
    } 
}
函数计算时间(结果){
computetime.time=computetime.time | | 0;
var mytravelroute=result.routes[0];
对于(i=0;i
有很多方法可以做到这一点。它涉及闭包。您应该阅读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)
var跟踪器={
时间:0
computetime:函数computetime(结果){
var mytravelroute=result.routes[0];
对于(i=0;i
将“时间”的声明放在函数之外。感谢您的帮助…我必须在这里组合几个答案。我应该提到“时间”变量本身无法处理,因为它用于计算小时:分钟:代码后面的秒…所以这就是难点所在,最后的代码:'var cumulativetime=0;function computetime(result){var time=0;var mytravelroute=result.routes[0];for(i=0;i