
关于setInterval()的一个问题
vart=null;setInterval(move(),1000)functionmove(){alert(1)}写的这个函数为什么只能调用一次。vart=null;s...
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)
function move(){
alert(1)
}
写的这个函数为什么只能调用一次。
var t = null;
setInterval(move,1000)
function move(){
alert(1)
}
或者
var t = null;
setInterval(“move()”,1000)
function move(){
alert(1)
}
这样写就能一直调用。求大神指导这是怎么回事?本人新人小白... 展开
2个回答
展开全部
setInterval要求第一个参数必须是含Javascript命令的字符串或函数对象,所以
setInterval("move()",1000)
以及
setInterval(move,1000)
这两个都是正确的。
而
setInterval(move(),1000)
当Javascript运行到这个语句时,会立即执行move这个函数,然后把函数的返回值作为setInterval的第一个参数,而由于move函数没有返回值,实际就相当于
setInterval(null, 1000)
这个当然就不会运行啦,表面看起来就是move只运行了一次。
move()和move是不相同的,move()是语句,表示要立即执行这个函数的意思;move则是一个函数对象,代表了这个函数本身,本身是不会运行的,可以把它赋值给其他对象或作为其他函数的参数。
setInterval("move()",1000)
以及
setInterval(move,1000)
这两个都是正确的。
而
setInterval(move(),1000)
当Javascript运行到这个语句时,会立即执行move这个函数,然后把函数的返回值作为setInterval的第一个参数,而由于move函数没有返回值,实际就相当于
setInterval(null, 1000)
这个当然就不会运行啦,表面看起来就是move只运行了一次。
move()和move是不相同的,move()是语句,表示要立即执行这个函数的意思;move则是一个函数对象,代表了这个函数本身,本身是不会运行的,可以把它赋值给其他对象或作为其他函数的参数。
展开全部
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(); } }
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询