ShowCountDown(a,b,c,d,e){
}
for(var i=0; i<4; i++){
var timeString = '<?php echo $timeString?>';
var time = timeString.split(',');
var filterArray = time[i].split('-');
window.setInterval((function(a,b,c,d,e){
ShowCountDown();
})(filterArray[0],filterArray[1],filterArray[2],'time',i)
,interval);
}
你的写法有问题,setInterval函数第一个参数接收的是一个function对象或者是一个代码片段的字符串表示(这个很拗口,说白了就是把你要执行的代码用“”包起来)。而你现在这种写法是先执行的匿名函数,然后将匿名函数的返回值给了setInterval的第一个参数。显然你的匿名函数并没有返回任何东西。
你可以这样写
但是这样写有另外一个问题,setInterval是异步的,等到到达执行的时间的时候,里面的i已经变成3了。需要通过作用域来确保变量的值是想要的值。