setInterval——每隔一段时间就执行一次
1 <script> 2 var x =document.getElementById("ceshi"); 3 4 var a=setInterval(function(){ 5 getTime(); 6 },1000); 7 8 function getTime(){ 9 var y= new Date(); 10 var z= y.toLocaleTimeString(); 11 x.innerHTML=z; 12 } 13 </script>
setTimeout——等待一段时间执行一次
(通过函数的迭代方法,也可以得到循环执行的效果)
1 <body onload="getTime()"> 2 3 <p id="ceshi">123</p> 4 5 <script> 6 var x =document.getElementById("ceshi"); 7 8 //var a=setInterval(function(){ 9 // getTime(); 10 //},1000); 11 12 function getTime(){ 13 var y= new Date(); 14 var z= y.toLocaleTimeString(); 15 x.innerHTML=z; 16 setTimeout(function(){ 17 getTime(); 18 }) 19 } 20 </script>
注:
onload 事件会在页面或图像加载完成后立即发生。
onload 通常用于 <body> 元素,在页面完全载入后(包括图片、css文件等等。)执行脚本代码。
假设,执行这段代码需要12秒钟,设定的循环时间是5秒钟,
setTimeout :每循环一次需要17秒
setInterval : 一定是每隔5秒执行一次(可能会前面的代码没执行完,就执行这段函数,造成冲突)
原文:https://www.cnblogs.com/lf98/p/12260402.html