美文网首页让前端飞
javascript 基础攻关(四)—— 异步和单线程

javascript 基础攻关(四)—— 异步和单线程

作者: 姚冰coding | 来源:发表于2017-07-17 07:08 被阅读0次

    异步

    题目

    1. 同步和异步的区别是什么?分别举一个同步和异步的例子
    2. 一个关于setTimeout的笔试题
    3. 前端使用异步的场景有哪些

    什么是异步

    • 同步会阻塞代码执行,异步不会
    • alert是同步,setTimeout不会
    console.log(100);
    setTimeout(function (argument) {
        console.log(200);
    },1000)
    console.log(300);
    
    100
    300
    200 //不阻塞程序运行
    
    console.log(100);
    alert(200);
    console.log(300);
    
    100
    200 //同步,阻塞运行
    300
    

    何时需要异步

    • 在可能发生等待的情况
    • 在等待过程中不能像alert一样阻塞程序运行
    • “需要等待”的情况使用异步

    前端使用异步的场景

    • 定时任务:setTimeout``setInverval
    • 网络请求:ajax请求,动态<img>加载
    • 事件绑定��

    解答

    1. setTimeout面试题
    console.log(1);
    setTimeout(function (argument) {
        console.log(2);
    },0)
    console.log(3);
    setTimeout(function (argument) {
        console.log(4);
    },1000)
    console.log(5);
    
    1
    3
    5
    2
    4
    

    相关文章

      网友评论

        本文标题:javascript 基础攻关(四)—— 异步和单线程

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