定时器

作者: chengfengwang | 来源:发表于2017-06-30 18:01 被阅读0次

    参数问题

    setTimeout(func|code, delay)
    第一个参数可以是函数名,

    setTimeout(f,1000);```
    
    第一个参数可以是一段代码,必须以字符串的形式
    

    setTimeout('console.log(2)',1000);```
    或者

    setTimeout(function (){console.log(2)},1000);```
    ###执行顺序
    setTimeout会在指定时间向消息队列的末尾添加一条消息,参见单线程模式
    

    setTimeout(function() {
    console.log("Timeout");
    }, 0);

    function a(x) {
    console.log("a() 开始运行");
    b(x);
    console.log("a() 结束运行");
    }

    function b(y) {
    console.log("b() 开始运行");
    console.log("传入的值为" + y);
    console.log("b() 结束运行");
    }

    console.log("当前任务开始");
    a(42);
    console.log("当前任务结束");

    // 当前任务开始
    // a() 开始运行
    // b() 开始运行
    // 传入的值为42
    // b() 结束运行
    // a() 结束运行
    // 当前任务结束
    // Timeout

    上面代码说明,setTimeout(f, 0)必须要等到当前脚本的*所有同步任务结束后才会执行。

    相关文章

      网友评论

          本文标题:定时器

          本文链接:https://www.haomeiwen.com/subject/ctwecxtx.html