最近get一个新知识,也不算是新知识,可能是以前自己没有认真对待(对自己无语ing,si不si傻)。
废话不多说,直接来看代码吧
function setInterval(func, t){ var inter = function(){ setTimeout(inter,t); try{ func.call(null); } catch(e){ throw e.toString(); } } setTimeout(inter,t);};
函数中有一个叫inter的内部函数,通过setTimeout来自动被调用,inter中形成了一个闭包,检查了重复的次数,调用回调函数并通过setTimeout再次调用了inter。当回调函数中出现了一个异常,inter调用将会终止,并抛出异常。(简单来说就是使用闭包+回调+setTimeout就可以实现咱们js封装好的setInterval函数啦。)咱们来测试一下:
setInterval(function(){ //执行的代码 console.log("test");},1000);
打开你的控制台,看一下吧,是不是每隔1秒就输出一个test了呢,嘻嘻。好了,小女子要去看书了,感觉自己对一些东西还是理解的不够透彻,得好好看看书补补脑了,拜~
引用资料:http://www.thecodeship.com/web-development/alternative-to-javascript-evil-setinterval/
来源:https://www.cnblogs.com/pwei/p/setinterval.html