什么是JS

JavaScript是一种基于对象的动态、弱类型脚本语言(简称JS),是一种解释型语言,和其他的编程语言不同,如java/C++等编译型语言,这些语言在代码执行前会进行通篇编译,先编译成字节码(机器码)。然后在执行。而JS不是这样做的,JS是不需要编译成中间码,而是可以直接在浏览器中运行,JS运行过程可分为两个阶段,编译和执行。(可参考你不知道的JS这本书),当JS控制器转到一段可执行的代码时(这段可执行代码就是编译阶段生成的),会创建与之对应的执行上下文(Excution Context简称EC)。执行上下文可以理解为执行环境(执行上下文只能由JS解释器创建,也只能由JS解释器使用,用户是不可以操作该"对象"的)。

JS 的底层运行原理

  1. 每调用一个函数就会生成一个执行环境(俗称执行上下文),执行上下文环境数量没有限制
  2. 每调用一个函数就会生成一个执行环境(俗称执行上下文),执行上下文环境数量没有限制
  3. 单线程
  4. 同步执行,只有栈顶的上下文处于执行中,其他上下文需要等待
  5. 每次某个函数被调用,就会有个新的执行上下文为其创建,即使是调用的自身函数,也是如此。

JS中的执行环境分为三类:

  1. 全局环境:当JS引擎进入一个代码块时,如遇到<script>xxx</script>标签,就是进入一个全局执行环境
  2. 函数环境:当一个函数被调用时,在函数内部就形成了一个函数执行环境
  3. eval():把字符串单做JS代码执行,不推荐使用

 

最新文章

  1. JavaWeb_day03_员工信息添加修改删除
  2. h5视频上传之前端视频压缩研究
  3. 【图像处理】【SEED-VPM】5.uImage的烧写 &amp; NFS烧写文件系统
  4. 关于thinkphp 中的字段自动检查机制
  5. 【leetcode❤python】118. Pascal&#39;s Triangle
  6. 初识jQuery 2013-09-26
  7. php输出json中文显示编码-解决办法
  8. libc++abi.dylib handler threw exception
  9. break与continue
  10. UML之部署图(Deployment Diagram)
  11. JS报表打印分页CSS
  12. Pazera Free Audio Extractor 中文版 - 轻松将视频背景音乐/对话音频提取出来的免费软件
  13. 利用Mega2560实现USB转串口
  14. 线程【五】VCL下的线程类
  15. Kafka 0.8翻译官网精华.md
  16. Struts2 注解模式
  17. httpclient 请求 json 数据
  18. hive 配置参数说明(收藏版)
  19. Unity如何判断一个对象是不是一件衣服
  20. python拓展2 collections模块与string模块

热门文章

  1. js array map() 函数的简单使用
  2. Python3学习笔记(十三):装饰器
  3. Python3学习笔记(十):赋值语句和布尔值
  4. UE4 使用VaRest的最佳实践
  5. String Compression
  6. selenium java 自动化测试 基于火狐浏览器/谷歌浏览器
  7. 分布式-信息方式-ActiveMQ的Message dispatch高级特性之(指针) Message cursors
  8. 讨厌的adb占用
  9. C++入门经典-例4.4-循环嵌套之求n的阶乘
  10. 20175215 2018-2019-2 第四周Java课程学习总结