Blog
首页
文档
收藏
关于
  • 在线转换时间戳 (opens new window)
  • 在线压缩图片 (opens new window)
  • Float-Double转二进制 (opens new window)
  • 文件转Hex字符串 (opens new window)

HiuZing

🍑
首页
文档
收藏
关于
  • 在线转换时间戳 (opens new window)
  • 在线压缩图片 (opens new window)
  • Float-Double转二进制 (opens new window)
  • 文件转Hex字符串 (opens new window)
  • 前端面试题

  • JavaScript

    • JavaScript语法

    • JavaScipt对象

    • JavaScript实例

    • JavaScript浏览器BOM

      • JavaScript-页面跳转
      • BOM概述
      • this指向
      • JS执行机制
        • JS执行机制
          • 同步任务
          • 异步任务(通过回调函数实现)
          • 事件循环
          • 执行栈`(JS主线程)`
      • location对象
      • navigator对象
      • history对象
      • PC端网页特效
      • Web API
    • JavaScript DOM

  • Vue2

  • port

  • CSS

  • Node.js

  • JavaScript优化

  • uniapp

  • Mini Program

  • TypeScript

  • 面向对象编程

  • UI组件

  • Plugin

  • Vue3

  • 性能优化

  • Axios

  • 状态管理

  • React

  • Mock

  • Icon

  • Template

  • 构建工具

  • 项目规范配置

  • Taro

  • SVG

  • React Native

  • 前端
  • JavaScript
  • JavaScript浏览器BOM
HiuZing
2023-02-09
目录

JS执行机制

# JS执行机制

JS有同步和异步

# 同步任务

在主线程上执行形成一个执行栈

# 异步任务(通过回调函数实现)

  • 1.普通事件 click resize

  • 2.资源加载 load error

  • 3.定时器 setInterval setTimeout

    异步任务相关回调函数添加到任务队列中(消息队列)

1.先执行执行栈中的同步任务

2.异步任务(回调函数)放入任务队列中

3.一旦执行栈中的所有同步任务执行完毕,系统就会按次序读取任务队列中的异步任务,于是被读取的异步任务结束等待状态,进入执行栈,开始执行

# 事件循环

主线程不断地重复获得任务,执行任务,再获取任务,再执行 叫

# 执行栈(JS主线程)

当有异步任务时,提交给对应的异步进程处理

  1. AJAX
  2. DOM事件
  3. setInterval
  4. setTimeout

异步任务完毕,推入任务队列中,当执行栈执行完之后,(重复动作)查看任务队列有没有异步任务

  1. onload
  2. onclick
  3. setTimeout
  4. ajax
上次更新: 2024/08/14, 04:14:33
this指向
location对象

← this指向 location对象→

最近更新
01
React Native 使用SVG
08-13
02
Docker基础命令
08-04
03
算数逻辑单元
07-30
更多文章>
Theme by Vdoing | Copyright © 2021-2024 WeiXiaojing | 友情链接
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式