当前位置: 首页 > 网络应用技术

在-Depth对JS执行上下文,动作域链,可变动作域的理解中

时间:2023-03-09 11:15:54 网络应用技术

  理解JavaScript中这些相对复杂的基本概念有利于加深您对JavaScript的基本知识的理解。在将来的工作中,如果遇到类似的问题,您会知道为什么是这种情况以及如何解决当前问题。

  当您运行JavaScript代码时,它实际上是在运行执行的上下文中;以下三种代码将创建一个新的执行上下文:

  上下文中的代码在执行过程中创建变量。该域链在所有级别的上下文中确定代码的顺序。顶部。如果上下文是一个函数,则活动对象用作边缘变量对象。活动对象最初只有一个变量:参数。(上下文中没有这样的变量)。范围中的下一个变量对象包含上下文,下一个变量对象来自下一个上下文。基于全局上下文,具有全局上下文的变量对象一直是域链的最后一个变量。

  对于上述代码示例,funct changeColor()的函数包含两个对象:一个是其自己的变量对象(实际涉及参数),另一个是变量对象的全局上下文。此功能可以访问该功能的原因内部颜色是因为它可以在域链上找到。

  上面的代码涉及三个上下文:全局上下文,部分和 - 部分本地上下文以及swapcolor()local local up和down上下文。

  1.使用var来声明变量,变量将自动添加到最近的上下文中

  2.使用LET的块极(ES6的新添加)

  LET和VAR之间的区别之间有两个区别:

  3.使用const(ES6的新添加)const定义的常数语句。一旦声明了变量,就无法更改原始类型数据。属性是因为参考类型数据将指针(HEAP内存)存储在堆栈中的堆栈中。

  4.当函数在函数中并且在全局变量中具有相同的变量时,该函数内部的变量是优选的

  在这一点上,该文章已被共享。

  我是疯狂的,前端开发工程师。