js的同步跟异步

在准备js面试题时,遇到了许多知识盲区,或是已经遗忘的知识,所以来写一下博客,记录自己的成长,同时查漏补缺

异步,原型和原型链,闭包被称为js的三座大山,为何会有异步?那我们要来捋一下

js是一门单线程的语言,通俗点讲就是在一个时间段它只能做一件事,就像一条公路,它一次就只能一辆车通过,不能有两辆车并排着通过的,如果有一辆车,它就停公路上,这样子后面的车没法走,那它就会一直卡着,不会往下执行

看一下代码

    console.log(100)
    
    alert(200)
    
    console.log(300)

js的同步跟异步

如果没有点击确定,接下来的300就不会打印,一直停在那里,点击后,才会打印300

js的同步跟异步

 所以同步会阻塞代码的执行

异步任务是通过回调函数实现的,它不会阻塞代码的执行,

在执行时会等同步任务执行后再添加到同步代码的后面

什么情况下需要异步,一般而言,异步任务有以下三种类型:1.普通事件,如click点击事件等。2.资源加载,如load,还有通过ajax请求数据。3.定时器,包括setInterval,setTimeout等

上一篇:leetcode 8/300 字符串转换整数 py


下一篇:算法(leetode,附思维导图 + 全部解法)300题之(1)两数之和