Javascript——Javascript的同步与异步机制

  • 了解单线程
    • 单线程指同一个时间只能做一件事,并且需要执行完上一句代码,在执行下一句代码
  • 为什么Javascript是单线程
    • javascript 是一门为了处理页面中用户的交互,以及操作DOM而诞生的脚本语言,比如我们对某个DOM 元素进行添加和删除操作,不能同时进行,应该先进行添加,之后再删除
  • 单线程存在的缺陷
    • 所有任务需要排队,前一个任务结束,才会执行后一个任务,这样所导致的问题是:如果 javascript某一段代码执行的时间过长,这样就会造成页面的渲染不连贯,导致页面渲染加载阻塞的感觉
  • 解决Javascript单线程问题
    • 利用多核CPU的计算能力,HTML5提出Web Worker 标准,允许JavaScript脚本创建多个线程,于是 js 中出现了同步和异步机制
  • 了解同步与异步机制
    • 同步:前一个任务结束后再执行后一个任务,程序的执行顺序与任务的排列顺序是一致的、同步的
    • 异步:你在做一件事情时,因为这件事情会花费很长时间,在做这件事的同时,你还可以去处理其他事情。
    Javascript——Javascript的同步与异步机制
    文章图片

  • 计时器(异步机制)
    • 在指定时间后调用函数或计算表达式(只调用一次)
      语法:setTimeOut(调用函数, 毫秒数)
    • 按照指定的周期来调用函数或计算表达式(多次调用)
      语法:setInterval(调用函数, 毫秒数)
    • 调用函数只写函数名,不需要写函数名()形式
    • 定时器的返回值(Number类型)(表示当前是页面中第几个定时器)
    • 【Javascript——Javascript的同步与异步机制】关闭定时器
      语法①:`clearTimeOut(定时器返回值)` 语法②:`clearInterval(定时器返回值)` 两种方法都可以关闭不同类型的定时器

    推荐阅读