当前位置: 首页 > news >正文

JavaScript高级—— js 是单线程运行的

1、如何证明 js 执行时单线程的?

① setTimeout()的回调函数是在主线程执行的

② 定时器回调函数只有在运行栈中的代码全部执行完后才有可能执行

2、为什么 js 要用单线程模式,而不用多线程模式?

① JavaScript 的单线程,与它的用途有关

② 作为浏览器的脚本语言,JavaScript 的主要用途是与用户互动,以及操作 DOM

③ 这决定了它只能是单线程,否则会带来很多复杂的同步问题

3、代码的分类

① 初始化代码

② 回调代码

4、js 引擎执行代码的基本流程

① 先执行初始化代码:包含一些特别的代码,回调函数(异步执行)

设置定时器

绑定监听

发送 ajax 请求

② 后面在某个时刻才会执行回调代码

 

本文分享到这里,欢迎大家评论区相互讨论学习,下一篇继续分享JavaScript高级学习中的事件循环模型。

http://www.lryc.cn/news/443540.html

相关文章:

  • Java 微服务框架 HP-SOA v1.1.4
  • 代码随想录Day 52|题目:101.孤岛的面积、102.沉没孤岛、103.水流问题、104.建造最大岛屿
  • go webapi上传文件
  • 【小沐学GIS】基于Openstreetmap创建Sionna RT场景(Python)
  • 网安面试题1
  • 你了解system V的ipc底层如何设计的吗?消息队列互相通信的原理是什么呢?是否经常将信号量和信号混淆呢?——问题详解
  • python爬虫初体验(一)
  • ER 图 Entity-Relationship (ER) diagram 101 电子商城 数据库设计
  • JavaSE--IO流总览06:字符转换输入(输出)流: InputStreamReader ,OutputStreamWrite
  • 浙版传媒思迈特软件大数据分析管理平台建设项目正式启动
  • 漏洞——CVE简介
  • IT行业中的技术趋势与未来展望
  • 解决 webpack 配置 sass-loader后报错,无法正常build
  • CentOS中使用DockerCompose方式部署带postgis的postgresql(附kartoza/docker-postgis镜像下载)
  • 初识elasticsearch
  • react hooks--React.memo
  • App端测——稳定性测试
  • [数据结构与算法·C++] 笔记 1.4 算法复杂性分析
  • Hive parquet表通过csv文件导入数据
  • C++ 构造函数最佳实践
  • C++——关联式容器(4):set和map
  • Spring Mybatis 基本使用 总结
  • 接口幂等性和并发安全的区别?
  • 【记录一下VMware上开虚拟端口映射到公网】
  • 半导体器件制造5G智能工厂数字孪生物联平台,推进制造业数字化转型
  • 数据结构之存储位置
  • 传输层协议(TCP和UDP)
  • 智能仓库|基于springBoot的智能无人仓库管理设计与实现(附项目源码+论文+数据库)
  • 2.《DevOps》系列K8S部署CICD流水线之部署NFS网络存储与K8S创建StorageClass
  • 【数据仓库】数据仓库常见的数据模型——维度模型