Web前端培训中JavaScript怎样执行上下文
2022-02-14点击量:216
了解JavaScript的核心概念可以让开发人员达到一个全新的水平,JavaScript最重要的概念之一是执行上下文,它无处不在——每次你开始使用JavaScript创建东西时,无论你是否知道,你都会在后台使用它。每次新应用程序启动时,每次执行函数时,执行上下文都会在那里。那么,什么是执行上下文。执行上下文允许JavaScript引擎管理解释和运行代码的复杂性。执行上下文是一个抽象概念,它包含有关当前代码正在执行的环境的信息。我们有三种不同类型的JavaScript执行上下文:全局执行上下文——这个执行上下文由JavaScript引擎默认创建。函数执行上下文-每当执行函数时都会创建此执行上下文。eval执行上下文——这个执行上下文是在一个eval函数中创建的。1.全局执行上下文第一个执行上下文是在JavaScript引擎运行您的代码时创建的。JavaScript引擎在执行任何代码之前都会创建一个新的执行上下文,这个新的执行上下文称为全局执行上下文。全局执行上下文是JavaScript引擎创建的默认执行上下文。所有不在函数或对象内的全局代码都将在全局执行上下文中执行。每个执行上下文(不仅仅是全局上下文)都将包含两件事:Aglobalobject——提供在当前环境中任何地方都可用的变量和函数。在浏览器中,全局对象被命名为window,使用Node.js时,全局对象被命名为global。Athisobject–this关键字指向代码所属的当前执行上下文对象。即使我们没有编写任何代码,JavaScript引擎仍然会创建一个全局执行上下文。JavaScript是一种单线程编程语言,因此JavaScript执行不可能有多个全局执行上下文。最初,全局执行上下文有两个阶段:创建——在这个阶段,全局对象和this关键字被创建。为创建的变量和函数分配内存。你可以看到我们的变量持有“未定义”的值。执行——在这个阶段,代码的执行开始了。在我们的示例中,我们为变量赋值并定义了函数。2.函数执行上下文执行函数时会创建函数执行上下文。创建的新执行上下文是函数执行上下文。它具有相同的阶段,我们可以访问一个称为参数的特殊值。参数值是我们在执行函数时传递给函数的参数。一个函数可以在其中执行一个函数,依此类推。每次执行函数时,都会创建一个新的函数执行上下文。3.eval执行上下文创建eval函数是为了将字符串转换为可执行的JavaScript代码。虽然看起来很强大,但不建议使用这个功能,因为我们无法控制它的权限。eval函数的使用可能会使您的应用程序或服务受到注入攻击。eval函数接收到的字符串可能是恶意字符串,可以完全破坏您的数据库或应用程序。这就是为什么不推荐使用eval函数的原因。JavaScript的核心概念可以彻底改变开发现代应用程序的游戏规则。执行上下文是了解JavaScript代码如何在后台运行的一个非常重要的概念。它存在于每个编写的JavaScript代码中,它是学习其他JavaScript概念(如提升、闭包、作用域等)的要求之一。...