Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.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 setInterval,如何返回值?_Javascript_Return_Setinterval - Fatal编程技术网

Javascript setInterval,如何返回值?

Javascript setInterval,如何返回值?,javascript,return,setinterval,Javascript,Return,Setinterval,我一直在尝试从setInterval函数返回值时遇到问题,我听说这是不可能的。是否有其他方法返回值?我需要setInterval函数每10秒递增一个变量,此时变量“label_increment”始终保持不变 labels=[0]; 标签_增量=1; 函数getGPU(标签\增量,标签){ 日志(“标签增量:”,标签增量); labels.push(label_increment);//附加到数组 label\u increment=label\u increment+1;//增加时间 日志(

我一直在尝试从setInterval函数返回值时遇到问题,我听说这是不可能的。是否有其他方法返回值?我需要setInterval函数每10秒递增一个变量,此时变量“label_increment”始终保持不变

labels=[0];
标签_增量=1;
函数getGPU(标签\增量,标签){
日志(“标签增量:”,标签增量);
labels.push(label_increment);//附加到数组
label\u increment=label\u increment+1;//增加时间
日志(“标签:”,标签);
返回标签增量
}

setInterval(函数(){getGPU(label_increment,labels);},10000)
因为
getGPU
函数是用参数
label\u increment
定义的,所以此函数中的代码只引用参数,而不是以前定义的同名变量

您可以从getGPU函数执行返回,但当前未使用该返回值

要在标签数组中获得所需的递增值,可以重命名其中一个变量(函数参数或外部变量),并使用返回值在每个间隔设置外部值:

labels=[0];
_标签_增量=1;
函数getGPU(标签\增量,标签){
日志(“标签增量:”,标签增量);
labels.push(label_increment);//附加到数组
label\u increment=label\u increment+1;//增加时间
日志(“标签:”,标签);
返回标签增量
}

setInterval(函数(){{u label_increment=getGPU({u label_increment,labels);},500)
我应该补充一点,这似乎同样适用于
标签
,而且
getGPU
的参数
labels
确实隐藏了在外部声明的变量。这里的区别与此实现有些无关,这是一个通过引用传递的数组(两个
标签
都引用数组的同一个实例);它们不会像数字
label\u increment
那样被复制。