美文网首页
【前端】-023-JavaScript-进阶篇-变量作用域

【前端】-023-JavaScript-进阶篇-变量作用域

作者: 9756a8680596 | 来源:发表于2017-02-07 22:29 被阅读18次

    变量作用域

    1. JavaScript中变量的作用域
    • 采用静态作用域(变量定义的位置决定了变量的引用)
    • 没有块级作用域,即不存在像C/Java语言一样在if/for块级中的变量作用域;
    • 只有全局作用域和函数(局部)作用域
    1. 词法环境
    • 词法环境是用来描述静态作用域的数据结构,一种可视化的描述方式,包括环境记录(record)和外部词法环境引用(outer)
    • record,指形参、变量、函数声明、对象等,是当前词法环境内部声明的引用
    • outer,当前词法环境的外部词法环境
    1. 示例
    • 词法环境与执行过程


      词法环境与执行过程
    • 特殊的词法环境,带名称的函数表达式


      带名称的函数表达式
      • 代码中的A作为函数表达式,不是函数声明所以不会定义到全局环境;
      • A会创建一个新的词法环境,指向全局,环境记录包含函数A,且不能被修改

    相关文章

      网友评论

          本文标题:【前端】-023-JavaScript-进阶篇-变量作用域

          本文链接:https://www.haomeiwen.com/subject/yrcmittx.html