setTimeout知识点记录

1.setTimeout函数用来指定某个函数或代码,再多少时间之后执行。返还的是一个整数,表示定时器的编号,可以用来取消定时器

var timer=setTimeout(func|code,delay)

上面代码,setTimeout函数接受2个参数,第一个参数是将要执行的函数名或者一段代码,第二个参数delay是推迟执行的毫秒数。

需要注意的是:推迟执行的代码必须以字符串的形式,放入 setTimeout,因为引擎内部使用 eval 函数,将字符串转为代码。如果推迟执行的是函数,则可以直接将函数名,放入 setTimeout。一方面 eval 函数有安全顾虑,另一方面为了便于 JavaScript 引擎优化代码,setTimeout 方法一般总是采用函数名的形式。而如果第一个函数是属于立即执行的匿名函数,那么,将不会受到第二个参数的影响,延迟执行。

setTimeout((function(a){
  console.log(a)
})(1),1000);

这个函数执行的结果是回立即返还1.

2.setTimeout的参数,可以是多个,如果超过2个,那么后面的参数将会作为回调函数的参数使用。IE9.0及以下版本,只支持2个参数,

3.setTimeout 如果传入的delay的值是0的话,那再一个执行环境中,是起到一个异步的作用,会发生先执行后面的代码,再来执行setTimeout的方法。

4.如果被 setTimeout 推迟执行的回调函数是某个对象的方法,那么该方法中的 this 关键字将指向全局环境,而不是定义时所在的那个对象。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值