你这样子写相当于一次开启了10个计时器,因为for循环一下子就执行完了,然后就是在30秒后,会一下子输出10个带编号的时间。按照你的想法,应该是隔30秒,输出一个时间,时间前带有数组内的编号。为了方便演示,可以先用较短的时间作为时间间隔。
var arr=new Array(1,2,3,4,5,6,7,8,9,0),delay=5000// 这里可以设置时间间隔,这里为5000ms=5s
function temp() {
var t=arr.shift()
document.write(t+"----"+(new Date()).getTime()+"<br />")
if(arr.length)
setTimeout("temp()",delay)
}
window.onload=function() {
temp()
}
这里fun1...fun100是函数么?可以用下面的方式for (var i=1 i<=100 ++i)
{
window['fun' + i]()
}
当然可以,用定时器实现(setTimeout),举例:
var num = 0function MyFun(){
num++
console.log('函数执行了' + num + '次')
setTimeout('MyFun()', 2000) // 2秒后重复执行
}