我试图使用setTimeout执行一个匿名函数,我将信息传递给该函数,但遇到了问题。这个(硬编码版本)将工作得很好:
setTimeout(function(){alert("hello");},1000);
setTimeout(function(){alert("world");},2000);
但我尝试从数组中获取hello和world,并将它们传递到函数中,而不是(a)使用全局变量,(2)使用eval。我知道如何使用全局变量或eval来做这件事,但是没有全局变量或eval,我怎么做呢?这是我想要做的(但我知道它不会起作用):
var strings = [ "hello", "world" ];
var delay = 1000;
for(var i=0;i<strings.length;i++) {
setTimeout( function(){alert(strings[i]);}, delay);
delay += 1000;
}
当然,stringsi会断章取义。如何在不使用eval或全局变量情况下将字符串传递给匿名函数?
https://stackoverflow.com/questions/6425062
复制相似问题