將函數(shù)傳遞給循環(huán)中的setTimeout:總是最后一個值?我正在嘗試使用setTimeout來執(zhí)行我傳遞信息的匿名函數(shù),我遇到了麻煩。這個(硬編碼版本)可以正常工作:setTimeout(function(){alert("hello");},1000);setTimeout(function(){alert("world");},2000);但是我試圖從數(shù)組中取出hello和world并將它們傳遞給函數(shù),而不是(a)使用全局變量,以及(2)使用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;}當然,字符串[i]將脫離上下文。如何在沒有eval或globals的情況下將字符串[i]傳遞給該匿名函數(shù)?
將函數(shù)傳遞給循環(huán)中的setTimeout:總是最后一個值?
幕布斯6054654
2019-08-19 16:04:18