JS 到底是在干嘛:一文搞懂JS 执行上下文

⭐️ 本文首发自 前端修罗场(点击即可加入),一个专注 Web 技术、答疑解惑、面试辅导、职业发展的社区。现在加入,即可参与打卡挑战,和一群人一起努力。挑战成功即可获取一次免费的模拟面试机会,进而评估知识点的掌握程度,获得更全面的学习指导意见,不走弯路,不吃亏!


所有JavaScript代码都需要在某种环境中托管和运行。在大多数情况下,这种环境是一个 web 浏览器。

对于在web浏览器中执行的任何一段JavaScript代码,很多过程都发生在后台。在本文中,我们将看一看 JavaScript 代码在 web 浏览器中运行的幕后发生了什么。

在开始之前,你需要先熟悉一些概念,因为我们将在本文中经常用到它们:

  • 解析器: 语法解析器是一个逐行读取代码的程序。它理解代码如何符合编程语言定义的语法,以及代码应该做什么。
  • JavaScript引擎: JavaScript 引擎是一个简单的计算机程序,它接收JavaScript源代码并将其编译成 CPU 可以理解的二进制指令(机器码)。JavaScript 引擎通常是由 web 浏览器供应商开发的,每个主要浏览器都有一个。例如谷歌 chrome 的 V8 引擎,Firefox 的 SpiderMonkey 和 Internet Explorer 的 Chakra。
  • 函数声明:函数被赋予一个名称:
function doSomething() { //"doSomething" 是这个函数的名字
 //statements; 
} 
  • 函数表达式: 匿名函数,即没有函数名的函数,如: function () {statements}。它们通常在语句中使用,比如将函数赋值给变量:
let someValue = function(){
//statements
}

现在,我们已经知道了这些概念,让我们开始吧。

JavaScript代码是如何执行的

浏览器并不能理解我们在应用程序中编写的高级JavaScript代码。它需要转换成一种浏览器和计算机都能理解的格式——机器代码

当通过HTML读取时,如果浏览器遇到要通过

你可能感兴趣的:(javascript,前端,javascript,执行上下文)