javascript中myTimer =setInterval(show,100);与myTimer =setInterval(show(),100);的区别?
二者的效果一样么?myTimer=setInterval(show,100);……myTimer=setInterval(show(),100);……只是少了一个“()”...
二者的效果一样么?myTimer =setInterval(show,100);……myTimer =setInterval(show(),100);……只是少了一个“()”……求高手讲解……如果换成myTimer =setInterval("show()",100);呢?
展开
展开全部
setInterval(show,100); 这个是将整个函数当参数传递进去。
setInterval(show(),100); 这个是执行函数,把函数的返回值传递进去。
setInterval 函数的第一个参数要求传递的是函数,
所以如果换成myTimer =setInterval(show(),100);会报错。
但是如果加上引号就不一样了,
myTimer =setInterval("show()",100);
setInterval 会将字符串代码执行,也就相当于 eval("show()");
setInterval(show(),100); 这个是执行函数,把函数的返回值传递进去。
setInterval 函数的第一个参数要求传递的是函数,
所以如果换成myTimer =setInterval(show(),100);会报错。
但是如果加上引号就不一样了,
myTimer =setInterval("show()",100);
setInterval 会将字符串代码执行,也就相当于 eval("show()");
展开全部
所以如果换成myTimer =setInterval(show(),100);会报错。
纠正下因为在做定时器的时候时常会传递参数,所以加上引号后就想你属偶的是执行函数这样也是不对的 最好的是做法在里面新建和函数传递比如:
myTimer =setInterval("function(){show(1)}",100);
纠正下因为在做定时器的时候时常会传递参数,所以加上引号后就想你属偶的是执行函数这样也是不对的 最好的是做法在里面新建和函数传递比如:
myTimer =setInterval("function(){show(1)}",100);
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先看看JS的基本语法吧,这么弱智的问题 还推荐我来回答, 对知道无语了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询