• 用setTimeout实现setInterval函数


    最近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/

  • 相关阅读:
    重新定位Excel Addin插件的方法
    VBA调用DOS程序两种方法
    Simulink Memory vs Unit Delay
    C#对象序列化与反序列化zz
    [leetcode]Sqrt(x) @ Python
    [leetcode]Sort Colors @ Python
    [leetcode]Pow(x, n) @ Python
    [leetcode]Edit Distance @ Python
    [leetcode]Rotate Image @ Python
    [leetcode]Length of Last Word @ Python
  • 原文地址:https://www.cnblogs.com/pwei/p/setinterval.html
Copyright © 2020-2023  润新知