setTimeout方法

很多时候我们编写代码的时候都需要用到定时器,下面我给大家介绍一个方法,利用它我们也能做定时器。下面给大家介绍这个方法的几种常用的写法。

SetTimeout方法 第一种写法↓

在这里插入图片描述

setTimeout方法是指在指定时间后执行一次指定函数。强调!只执行一次!

ObjSetTimeout后面的window可以省略不写。SetTimeout后面的括号传入函数名称,注意只是传入名称不能有括号,函数名称后面就是时间参数,多少毫秒。

1000就代表1000毫秒之后执行。

现在我们来看看效果

在这里插入图片描述

点击事先准备好的方法,后台大概一秒之后就会打印出当前时间。

这是第一种形式,我们下面来看一下第二种形式。

在这里插入图片描述

用写成字符串参数形式的这种写法来写的话,会造成javascript引擎两次解析,降低性能,所以不建议使用。但是也是可以用的,确实没错。

控制台输出打印的效果也是和第一种一样的。

在这里插入图片描述

还有第三种形式

第三种形式

在这里插入图片描述

第三种形式就是传入函数的一种写法,和第二种写法类似。直接传入function,把函数体执行方法写进去。就像平时写事件一样,把整个函数作为一个变量传进去。而不写在外部,这也是一种写法。

在这里插入图片描述

但是这个方法始终只能执行一次,如果我想让它一直执行该怎么办呢?

我们再给它写一个方法

在这里插入图片描述

在方法二中又写了一个setTimeout,你要在它执行结束的时候又调用了自身。

先打印当前时间,然后马上又执行自身,等于又打开一个新的定时器,每隔1000毫秒执行一次也就是一秒,就相当于死循环。通过死循环的方式来实现一直调用方法一直执行。

在这里插入图片描述
在这里插入图片描述

我们还能通过cleanSetTimeout这个方法来取消settimeout方法设置的定时器,给了上述方法后,点击关闭SetTimeout定时器后台控制器将不再执行。

  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值