settimeout用法(延时定时器—setTimeout)
延时定时器—setTimeout
何为setTimeout
setTimeout是一种JavaScript语言自带的定时器函数。其作用是在指定时间之后执行一次指定函数的操作。
setTimeout用法
setTimeout的用法较为简单,只需要调用该函数并传递需要执行的函数以及时间参数即可。
具体示例代码如下:
setTimeout(function(){ console.log('Hello, World!'); }, 1000);
此代码中,含义是调用setTimeout函数,并执行一段console.log输出“Hello, World!”的代码,时间参数是1000ms,即1秒。
setTimeout实际应用
1、实现页面跳转
setTimeout(function(){ window.location.href='http://www.example.com'; }, 3000);
此代码实现的是当用户在页面停留3秒后,跳转至http://www.example.com。
2、实现延时加载
setTimeout(function(){ document.getElementById('message').style.display = 'block'; }, 5000);
此代码实现的是当用户停留在页面5秒后,弹出一个ID为message的元素。
3、实现轮播图切换
var images = ['1.jpg', '2.jpg', '3.jpg']; var currentImage = 0; function changeImage(){ currentImage++; if(currentImage == images.length){ currentImage = 0; } document.getElementById('slider').src = images[currentImage]; setTimeout(changeImage, 5000); } setTimeout(changeImage, 5000);
此代码实现的是每5秒钟切换一张图片,在最后一张图片后,从头重新开始。
setTimeout注意事项
1、setTimeout是异步执行,不会阻塞主线程。
2、setTimeout延时时间并不能保证完全准确,因为JavaScript是单线程的。
3、setTimeout的延时时间单位是毫秒(ms)。
结语
setTimeout的使用可以满足很多生产环境下的需要,通过学习它的使用方法以及规避问题,我们可以更好地开发出可靠、优秀的Web应用程序。