js定时器只有在当前页面才会执行吗

JavaScript054

js定时器只有在当前页面才会执行吗,第1张

js定时器只有在当前页面才会执行。根据查询相关平台信息了解到,JS定时器是单线程,同一时间只能执行一个任务,其他任务就得排队,后续任务必须等到前一个任务结束才能开始执行。当前页面的任务只在当前页面执行,切换页面将执行下一个任务。

<script language="JavaScript" type="text/javascript">

//setTimeout后固定时间后执行指定内容,单位毫秒

//写法一

/*

var iID=setTimeout(function(){

alert(iID)

},1000)

*/

//写法二

var iID=setTimeout("clock()",2000)//或者var iID=setTimeout(clock,2000)

function clock(){

alert(iID)

}

clearTimeout(iID)

//setInterval用法与setTimeout相同,只是setTimeout固定时间后执行且只执行一次。setInterval循环每过一段固定时间执行一次。

//每次调用setTimeout或setInterval函数都会产生一个唯一的ID,可以通过clearTimeout或clearInterval函数(这两个函数的参数对应接收一个setTimeout或setInterval返回的ID)暂停setTimeout或setInterval函数,(同一个setInterval循环其返回值不变)

//但是测试clearInterval(iID)可阻止setTimeout,clearTimeout(iID)也可阻止setInterval的继续执行

</script>

js中两种定时器的设置及清除

循环执行:

var timeid = window.setInterval(“方法名或方法”,“延时”)

window.clearInterval(timeid)

<script type="text/javascript">

$(document).ready(function(){    //循环执行,每隔1秒钟执行一次 1000     var

t1=window.setInterval(refreshCount, 1000)

function refreshCount() {

console.log("ready")

}

//去掉定时器的方法

window.clearInterval(t1)

})

</script>

2.定时执行:当方法执行完成定时器停止(但是定时器还在,只不过没用了)

var tmid = window.setTimeout(“方法名或方法”, “延时”)

window.clearTimeout(tmid)

<script type="text/javascript">

$(document).ready(function(){    //定时执行,5秒后执行

var t1=window.setTimeout(refreshCount, 1000 * 5)   function refreshCount() {

console.log("ready")

}    //去掉定时器的方法      window.clearTimeout(t1)

})

</script>