js循环调用函数问题

JavaScript09

js循环调用函数问题,第1张

你这样子写相当于一次开启了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 = 0

function MyFun(){

    num++

    console.log('函数执行了' + num + '次')

    setTimeout('MyFun()', 2000) // 2秒后重复执行

}