简述js定时器的用法

js常用的定时器方法有四个

  • setTimeout(“js语句”,定时时间)
  • setInterval(“js语句”,定时时间)
  • clearTimeout(需要停止的对象)
  • clearInterval(需要停止的对象)
    注意:这里的定时时间单位都为毫秒

下面我们来看一下它们的用法:
setTimeout()
单次定时,即setTimeout的第一个参数的js语句只会定时实现一次。
比如:

word = setTimeout("showWord()", 2000)

那么浏览器就会只在你调用setTimeout方法2秒后实现showWord方法,只实现一次不循环。将setTimeout赋值给word是为了方便清除,下面我们会提到。
我们来看一下效果:
在这里插入图片描述
当然你还可以把函数方法写到setTimeout的参数中去。
比如:

var word = setTimeout(function() {
	s.innerHTML = "<p>我喜欢javacript</p>"
}, 3000)

setInterval()
循环定时,即setInterval的第一个参数的js语句只会定时实现无数次。
比如:

word = setInterval("showWord()", 2000)

浏览器会在你调用setInterval后每间隔2秒就会调用一次showWorld方法
在这里插入图片描述
同理如果你喜欢的话,也可以将函数写到参数中去

clearTimeout()clearInterval()
两者用法一样,清除定时器对象,不过从名字可以看出,清除的定时器是与上面对应的,但其实是可以互用的,你们可以试试。现在我们来说说它们的用法。
比如前面的word:

clearInterval(word)

clearInterval就只有一个参数,即你要清除的定时器对象,当然clearTimeout的参数也是只有一个
效果在演示setInterval时已显示

补上showWord代码:

var showWord = () => {
		r = Math.random() * 254 + 1
		g = Math.random() * 254 + 1
		b = Math.random() * 254 + 1
		var s = document.getElementById("show")
		s.style.background = "rgb(" + r + "," + g + "," + b + ")"
		s.innerHTML = "<p>我喜欢javacript</p>"
}

猜你喜欢

转载自blog.csdn.net/suorce/article/details/82841781