setInterval(“run()”,1000);和setInterval(run(),100)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了setInterval(“run()”,1000);和setInterval(run(),100)相关的知识,希望对你有一定的参考价值。
javascript中
setInterval(“run()”,1000);和
setInterval(run(),100) 的区别是什么?
这是我的理解,请路过的大神指正批评。 参考技术A setInterval("run()",1000); 表示每隔1000毫秒调用一次run方法 另一个 是每隔100毫秒调用一次run方法 (1000毫秒等于1秒)追问
不是这样的,后面那个我少写了一个0,也是一千毫秒。前面的是字符串,后面的方法没有加引号。运行的时候后者只运行一次。
本回答被提问者采纳关于setInterval()的一个问题
var t = null;
setInterval(move(),1000)
function move()
alert(1)
写的这个函数为什么只能调用一次。
var t = null;
setInterval(move,1000)
function move()
alert(1)
或者
var t = null;
setInterval(“move()”,1000)
function move()
alert(1)
这样写就能一直调用。求大神指导这是怎么回事?本人新人小白...
setInterval("move()",1000)
以及
setInterval(move,1000)
这两个都是正确的。
而
setInterval(move(),1000)
当Javascript运行到这个语句时,会立即执行move这个函数,然后把函数的返回值作为setInterval的第一个参数,而由于move函数没有返回值,实际就相当于
setInterval(null, 1000)
这个当然就不会运行啦,表面看起来就是move只运行了一次。
move()和move是不相同的,move()是语句,表示要立即执行这个函数的意思;move则是一个函数对象,代表了这个函数本身,本身是不会运行的,可以把它赋值给其他对象或作为其他函数的参数。 参考技术A var num=0; //初始量 var a1=document.getElementById("dot"); //获得盒子 function one(); //执行的函数 alert("num:"+num); num++; var s1=-1;//初始化变量 function circleOne() s1=setInterval(one,3000); circleOne(); //循环开始 a1.onmouseover=function() //鼠标放到盒子上停止函数 clearInterval(s1); a1.onmouseout=function() //鼠标移出去接着执行函数 if(s1==-1) circleOne();
以上是关于setInterval(“run()”,1000);和setInterval(run(),100)的主要内容,如果未能解决你的问题,请参考以下文章
使用 setTimeout 来模拟一个 setInterval