settimeout第二个参数,两个settimeout

http://www.itjxue.com  2023-01-21 02:05  来源:未知  点击次数: 

js settimeout干什么用

setTimeout设置定时器,实现异步执行代码

setTimeout的第一个参数是一个函数,即打算异步执行的函数

第二个参数为毫秒数,及需要执行的代码会在这个毫秒数之后执行

但并不保证一定会在达到设置的时间执行,它只是将代码放入待执行队列,尽量在设置时间后执行

setimemount方法

第一种写法↓ setTimeout方法是指在指定时间后执行一次指定函数。强调!只执行一次! ObjSetTimeout后面的window可以省略不写。SetTimeout后面的括号传入函数名称,注意只是传入名称不能有括号,函数名称后面就是时间参数,多少毫秒。 1000就代表1000毫秒之后执行。 现在我们来看看效果 点击事先准备好的方法,后台大概一秒之后就会打印出当前时间。 这是第一种形式,我们下面来看一下第二种形式。 用写成字符串参数形式的这种写法来写的话,会造成javascript引擎两次解析,降低性能,所以不建议使用。但是也是可以用的,确实没错。 控制台输出打印的效果也是和第一种一样的。 还有第三种形式 第三种形式 第三种形式就是传入函数的一种写法,和第二种写法类似。直接传入function,把函数体执行方法写进去。就像平时写事件一样,把整个函数作为一个变量传进去。而不写在外部,这也是一种写法。 但是这个方法始终只能执行一次,如果我想让它一直执行该怎么办呢? 我们再给它写一个方法 在方法二中又写了一个setTimeout,你要在它执行结束的时候又调用了自身。 先打印当前时间,然后马上又执行自身,等于又打开一个新的定时器,每隔1000毫秒执行一次也就是一秒,就相当于死循环。通过死循环的方式来实现一直调用方法一直执行。 我们还能通过cleanSetTimeout这个方法来取消settimeout方法设置的定时器,给了上述方法后,点击关闭SetTimeout定时器后台控制器将不再执行。

查看更多

?

setTimeout()这个方法不执行

setTimeout()方法的第一个参数是一个闭包,它指定了要运行的函数。它的第二个参数是一个数值,表示的是以毫秒计算的运行延时。注意传递给setTimeout()的第一个参数也可以是表示执行代码的字符串,如果是字符串,那么setTimeout()方法会调用Function对象将这个字符串构造成函数执行。

setTimeout及setinterval都是异步执行的函数,就是它会在触发事件发生(延迟时间)之后去执行调用事件,这个过程并不会中断顺序执行的过程,而不是象c语言中的delay一样,延迟的是顺序执行的过程。而该过程大概是开启了另外的一个线程。

(责任编辑:IT教学网)

更多

推荐CMS技巧文章