问题描述
刚刚测试了下setInterval和setTimeout,clearInterval, 有如下代码: function a(){ var end = setInterval(f,1000); setTimeout(clearInterval(end),10000); } 在调用a()的时候,浏览器没有反应,也没有报错,后来把代码改成如下形式: function a(){ var end = setInterval(f,1000); setTimeout(function(){clearInterval(end)},10000); } 重新 调用a(),一切正常,这是怎么回事
解决方案
setTimeout 第一个参数要个函数对象做参数,clearInterval(end)这个是句语句,不是函数对象。
解决方案二:
clearInterval(end) 是表达式;setTimeout(方法);可以这样:setTimeout(function aaa(){ ....});也可以:setTimeout(aaa);function aaa(){}
时间: 2024-11-24 11:30:23