JS ----- 底层原理
2024-08-31 11:19:52
什么是JS
JavaScript是一种基于对象的动态、弱类型脚本语言(简称JS),是一种解释型语言,和其他的编程语言不同,如java/C++等编译型语言,这些语言在代码执行前会进行通篇编译,先编译成字节码(机器码)。然后在执行。而JS不是这样做的,JS是不需要编译成中间码,而是可以直接在浏览器中运行,JS运行过程可分为两个阶段,编译和执行。(可参考你不知道的JS这本书),当JS控制器转到一段可执行的代码时(这段可执行代码就是编译阶段生成的),会创建与之对应的执行上下文(Excution Context简称EC)。执行上下文可以理解为执行环境(执行上下文只能由JS解释器创建,也只能由JS解释器使用,用户是不可以操作该"对象"的)。
JS 的底层运行原理
- 每调用一个函数就会生成一个执行环境(俗称执行上下文),执行上下文环境数量没有限制
- 每调用一个函数就会生成一个执行环境(俗称执行上下文),执行上下文环境数量没有限制
- 单线程
- 同步执行,只有栈顶的上下文处于执行中,其他上下文需要等待
- 每次某个函数被调用,就会有个新的执行上下文为其创建,即使是调用的自身函数,也是如此。
JS中的执行环境分为三类:
- 全局环境:当JS引擎进入一个代码块时,如遇到
<script>xxx</script>
标签,就是进入一个全局执行环境 - 函数环境:当一个函数被调用时,在函数内部就形成了一个函数执行环境
eval()
:把字符串单做JS代码执行,不推荐使用
最新文章
- JavaWeb_day03_员工信息添加修改删除
- h5视频上传之前端视频压缩研究
- 【图像处理】【SEED-VPM】5.uImage的烧写 &; NFS烧写文件系统
- 关于thinkphp 中的字段自动检查机制
- 【leetcode❤python】118. Pascal&#39;s Triangle
- 初识jQuery 2013-09-26
- php输出json中文显示编码-解决办法
- libc++abi.dylib handler threw exception
- break与continue
- UML之部署图(Deployment Diagram)
- JS报表打印分页CSS
- Pazera Free Audio Extractor 中文版 - 轻松将视频背景音乐/对话音频提取出来的免费软件
- 利用Mega2560实现USB转串口
- 线程【五】VCL下的线程类
- Kafka 0.8翻译官网精华.md
- Struts2 注解模式
- httpclient 请求 json 数据
- hive 配置参数说明(收藏版)
- Unity如何判断一个对象是不是一件衣服
- python拓展2 collections模块与string模块
热门文章
- js array map() 函数的简单使用
- Python3学习笔记(十三):装饰器
- Python3学习笔记(十):赋值语句和布尔值
- UE4 使用VaRest的最佳实践
- String Compression
- selenium java 自动化测试 基于火狐浏览器/谷歌浏览器
- 分布式-信息方式-ActiveMQ的Message dispatch高级特性之(指针) Message cursors
- 讨厌的adb占用
- C++入门经典-例4.4-循环嵌套之求n的阶乘
- 20175215 2018-2019-2 第四周Java课程学习总结