02_作用域与执行上下文区别

Posted lucy-xyy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了02_作用域与执行上下文区别相关的知识,希望对你有一定的参考价值。

<body>
<!--
1. 区别1
  * 全局作用域之外,每个函数都会创建自己的作用域,作用域在函数定义时就已经确定了。而不是在函数调用时
  * 全局执行上下文环境是在全局作用域确定之后, js代码马上执行之前创建
  * 函数执行上下文是在调用函数时, 函数体代码执行之前创建
2. 区别2
  * 作用域是静态的, 只要函数定义好了就一直存在, 且不会再变化
  * 执行上下文是动态的, 调用函数时创建, 函数调用结束时就会自动释放
3. 联系
  * 执行上下文(对象)是从属于所在的作用域
  * 全局上下文环境==>全局作用域
  * 函数上下文环境==>对应的函数使用域
-->
<script type="text/javascript">
  var a = 10,
    b = 20
  function fn(x) {
    var a = 100,
      c = 300;
    console.log(fn(), a, b, c, x)
    function bar(x) {
      var a = 1000,
        d = 400
      console.log(bar(), a, b, c, d, x)
    }

    bar(100)
    bar(200)
  }
  fn(10)
</script>
</body>

 

以上是关于02_作用域与执行上下文区别的主要内容,如果未能解决你的问题,请参考以下文章

作用域与函数

作用域与作用域链

JS高阶---作用域与执行上下文

js作用域与上下文

作用域与作用域链

2021 第三期被面试官最爱问的作用域与作用域链