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