zoukankan      html  css  js  c++  java
  • 作用域与执行上下文

    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <title>02_作用域与执行上下文</title>
    </head>
    <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) //100 20 300 10
        function bar(x) {
          var a = 1000,
            d = 400
          console.log('bar()', a, b, c, d, x) //1000 20 300 400 100
        }
    
        bar(100)
        // bar(200)
      }
      fn(10)
    </script>
    </body>
    </html>

    1. 区别1
      * 全局作用域之外,每个函数都会创建自己的作用域,作用域在函数定义时就已经确定了。而不是在函数调用时
      * 全局执行上下文环境是在全局作用域确定之后, js代码马上执行之前创建
      * 函数执行上下文是在调用函数时, 函数体代码执行之前创建
    2. 区别2
      * 作用域是静态的, 只要函数定义好了就一直存在, 且不会再变化
      * 执行上下文是动态的, 调用函数时创建, 函数调用结束时就会自动释放
    3. 联系
      * 执行上下文(对象)是从属于所在的作用域
      * 全局上下文环境==>全局作用域
      * 函数上下文环境==>对应的函数使用域
  • 相关阅读:
    Vue项目一、node.js和npm的安装和环境搭建
    vue-cli脚手架目录(2.0)
    你的程序要读入一系列正整数数据,输入-1表示输入结束,-1本身不是输入的数据。程序输出读到的数据中的奇数和偶数的个数。
    100以内最大的能被17整除的整数
    what is artificial Intelligence
    画图
    No understanding(2)
    No understanding(1)
    对决
    谁是最好的Coder
  • 原文地址:https://www.cnblogs.com/fsg6/p/12786792.html
Copyright © 2011-2022 走看看