我试图将函数的结果加起来,每次调用函数后,这是我的代码:
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。
答案 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)