zoukankan      html  css  js  c++  java
  • JavaScript作用域

    什么是作用域?
      一个变量可用的范围
    1、全局作用域window:全局变量
      在程序的任何位置都能反复使用===》全局污染
    2、函数作用域:局部变量
      局部变量(AO:Action Object):仅在函数内可用
    函数的生命周期:
      1)开始执行前(生命提前阶段)
      创建执行环境栈(数组):临时保存正在执行的函数执行环境
      向执行环境中添加一个默认程序main(),该方法创建出一个全局作用域的对象window

      2)定义函数时

          创建函数对象,封装函数的定义

          声明函数变量,引用了函数对象,函数对象的scope属性引用,创建函数时的作用域

      3)调用函数时
         在ECS中加入一个新的元素(执行环境)记录新函数的调用
        创建一个活动对象,保存本次调用用到的局部变量(函数的参数,在函数体内使用var关键字声明的数据)
        ESC中的新执行环境元素 ,引用活动对象
         活动对象中的parent属性引用函数的scope指向的父级作用域对象

      4)调用函数后
         执行环境栈中本次函数的执行环境出栈
         导致活动对象被释放,导致局变量一同释放

     

    作用域链
      右多级作用域连续引用形成的链式结果
      掌握一切变量的使用顺序 :先在局部找,没有则延作用域链向父级作用域中找

     

  • 相关阅读:
    Java项目中读取properties文件,以及六种获取路径的方法
    在eclipse中使用JUnit4,以及使用JUnit4进行单元测试的技巧
    [Evernote]印象笔记使用经验技巧
    使用Word2010发布博客文章
    Win7/8 绿色软件开机启动
    常见笔试题
    排序
    数据库知识归纳(索引)
    数据库知识归纳(事务)
    Redis
  • 原文地址:https://www.cnblogs.com/Godfather-twq/p/11294802.html
Copyright © 2011-2022 走看看