Javascript setInterval-如何保留传入的变量
我做了一些挖掘,所以无法找到确切的我要实现的目标 简单地说,我有一个函数Javascript setInterval-如何保留传入的变量,javascript,setinterval,Javascript,Setinterval,我做了一些挖掘,所以无法找到确切的我要实现的目标 简单地说,我有一个函数 function(){ for(i=0;i<10;i++){ setInterval(function(){ alert(i);), 1000) } } function(){ 对于(i=0;i这应该可以做到;) (i=1;i
function(){
for(i=0;i<10;i++){
setInterval(function(){ alert(i);), 1000)
}
}
function(){
对于(i=0;i这应该可以做到;)
(i=1;i<11;i++)的{
(函数(局部_i){
setInterval(函数(){console.log(local_i);},1000*local_i)
})(i) );
}
这应该可以做到;)
(i=1;i<11;i++)的{
(函数(局部_i){
setInterval(函数(){console.log(local_i);},1000*local_i)
})(i) );
}
您必须捕获a中的变量。在您的情况下,这是
函数捕获(x){
setInterval(函数(){
控制台日志(x);
}, 1000);
}
对于(变量i=0;i<10;i++){
捕获(i);
}
或
函数捕获(my_obj){
var id=setInterval(函数(){
我的对象替换类([“某物”,“其他物],“某物”);
}, 1000);
返回id;
}
用于(obj中的i){
//我在dom中的对象。这家伙就是我想要保存的
my_obj=document.getElementById(i);
if(obj[i]=“某物”){
timers.push(捕获(my_obj));
}
}
您必须捕获a中的变量。在您的情况下,这是
函数捕获(x){
setInterval(函数(){
控制台日志(x);
}, 1000);
}
对于(变量i=0;i<10;i++){
捕获(i);
}
或
函数捕获(my_obj){
var id=setInterval(函数(){
我的对象替换类([“某物”,“其他物],“某物”);
}, 1000);
返回id;
}
用于(obj中的i){
//我在dom中的对象。这家伙就是我想要保存的
my_obj=document.getElementById(i);
if(obj[i]=“某物”){
timers.push(捕获(my_obj));
}
}
;)。可能重复感谢您对已经提出的问题的建议。我想我不明白我的实际问题是什么,所以我没有办法搜索它。;。可能重复感谢您对已经提出的问题的建议。我想我不明白我的实际问题是什么,所以没有办法r我来搜索。上面的代码有“10个设置间隔,每1秒会提醒1到10个”。我是否遗漏了什么?我不确定,如果您遗漏了什么,问题就有点模糊了。无论如何,所有设置间隔都是“触发”同时,您将获得十个1
s、十个2
s等。也许使用setTimeout()更好
?虽然这可能也是预期行为。我给出的代码每1秒触发10个setInterval,但它们每次都会打印出1到10,因为它将I值保存在一个本地变量中。是否希望每秒触发一个setInterval,持续10秒?你的答案成功了。我想这是关于理解Java的基本原理的脚本,我还在学习中。谢谢。上面的代码有“10个设置间隔,每1秒会提醒1到10个”。我是否遗漏了什么?我不确定,如果您遗漏了什么,问题有点模糊。无论如何,所有设置间隔都是“触发”同时,您将获得十个1
s、十个2
s等。也许使用setTimeout()更好
?虽然这可能也是预期行为。我给出的代码每1秒触发10个setInterval,但它们每次都会打印出1到10,因为它将I值保存在一个本地变量中。是否希望每秒触发一个setInterval,持续10秒?你的答案成功了。我想这是关于理解Java的基本原理的剧本,我还在学习。谢谢。谢谢你的回答。两个答案都很好。谢谢。谢谢你的回答。两个答案都很好。谢谢。
function(obj){
//Clear any intervals
for(i=0;i<timer.length;i++){
clearInterval(timers[i]);
}
// Empty timers Array
timers = [];
for(i in obj){
//My object from the dom. This guy is what I am trying to preserve
my_obj = document.getElementById(i);
if(obj[i] === "Something"){
timers.push(setInterval(function(){
my_obj.replace_class(["Something", "Otherthing"],"Something");
}, 1000)
}
}
}
for(i = 1; i < 11; i++){
(function(local_i){
setInterval(function(){ console.log(local_i); }, 1000 * local_i)
})(i);
}