JS中setTimeout()和interval()方法的用法

JS中setTimeout()方法的用法

创新互联于2013年成立,是专业互联网技术服务公司,拥有项目网站建设、做网站网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元溆浦做网站,已为上家服务,为溆浦各地企业和个人服务,联系电话:028-86922220

            settimeout(表达式,延迟时间); 单位:ms(毫秒);1s=1000ms; 

setinterval(表达式,交互时间);  单位:ms(毫秒);1s=1000ms; 

window.settimeout()

在执行时,它从载入后延迟指定的时间去执行一个表达式或者是函数;仅执行一次;和window.cleartimeout一起使用.

window.setinterval()

在执行时,它从载入页面后每隔指定的时间执行一个表达式或者是函数;(功能类似于递归函数);和window.clearinterval一起使用.

1,基本用法:

执行一段代码:  var i=0;

settimeout("i+=1;alert(i)",1000);

执行一个函数:

var i=0;

settimeout(function(){i+=1;alert(i);},1000);

//比较上面的两种方法的不同。

下面再来一个执行函数的:

var i=0;

function test(){

i+=1;

alert(i);

}

settimeout("test()",1000);

也可以这样:

settimeout(test,1000);

总结:

settimeout的原型是这样的:

itimerid = window.settimeout(vcode, imilliseconds [, slanguage])

settimeout有两种形式

settimeout(code,interval)

settimeout(func,interval,args)

其中code是一个字符串

func是一个函数.

注重"函数"的意义,是一个表达式,而不是一个语句.

比如你想周期性执行一个函数

function a(){

//...

}

可写为

setinterval("a()",1000)

setinterval(a,1000)

这里注重第二种形式中,是a,不要写成a(),切记!!!

展开来说,不管你这里写的是什么,假如是一个变量,一定是一个指向某函数的变量;假如是个函数,那它的返回值就 要是个函数

2,用settimeout实现setinterval的功能

思路很简单,就是在一个函数中调用不停执行自己,有点像递归

var i=0;

function xilou(){

i+=1;

if(i>10){alert(i);return;}

settimeout("xilou()",1000);

//用这个也可以

//settimeout(xilou,1000);

}

window.setTimeout(func,delay);

func,代表所要执行的函数或代码字符串。

delay,延时参数,单位为毫秒,一秒=1000毫秒。

func中传递的函数或语句有变量输入时,变量的取值以延时后的执行时段时的取值为准,不以代码执行时段的值为准。例如:

代码:

for(var i=1;i<=50;i++)

{

       window.setTimeout("document.write(i)",1000);

}

这样写的意义是在程序执行完1秒后打印50个i,此时程序已执行完,i的取值为"51";

如果要是程序每隔1秒打印一个数,则程序要改写为

代码:

for(var i=1;i<=50;i++)

{

       window.setTimeout("document.write("+i+")",i*1000);

}

#Javascr


分享标题:JS中setTimeout()和interval()方法的用法
转载来源:http://scyanting.com/article/jddcie.html