setTimeout和setInterval

setTimeout和setInterval

1.setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式。简单得说就是几秒之后,你把我交给你得任务执行了。(执行一次)
2.setInterval()可按照指定的周期(以毫秒计)来调用函数或计算表达式,直到直到clearInterval()方法 被调用或窗口被关闭。。简单的说就是每几秒执行一次,无限执行。
3.

for(var i=0;i<5;i++){
	setTimeout(function(){
		console.log(i)
	},i*1000)
}

这一题的输出结果为 5个5,且是每一秒钟输出一个5,
这里便就有一个坑了,那就是时间那里的i,到底是5,还是由0-4的变化,
这里边涉及到了JS的同步异步问题了,其实setTimeout它本身并不是异步的,只不过它的回调函数是属于异步的,所以它才会被丢到消息队列中,等待处理,那既然是这样,就不难看出,既然只有回调函数是异步操作,那么这里的时间i自然就是同步的了,那么它的值自然就是由0-4,而非固定值5。同理setInterval也是一样的。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值