• JS作用域


    作用域

    作用域:变量可以起作用的范围

    全局变量和局部变量

    • 全局变量

      在任何地方都可以访问到的变量就是全局变量,对应全局作用域

    • 局部变量

      只在固定的代码片段内可访问到的变量,最常见的例如函数内部。对应局部作用域(函数作用域)

     不使用var声明的变量是全局变量,不推荐使用。
     变量退出作用域之后会销毁,全局变量关闭网页或浏览器才会销毁

    块级作用域

    任何一对花括号({和})中的语句集都属于一个块,在这之中定义的所有变量在代码块外都是不可见的,我们称之为块级作用域。 在es5之前没有块级作用域的的概念,只有函数作用域,现阶段可以认为JavaScript没有块级作用域

    作用域链

     只有函数可以制造作用域结构, 那么只要是代码,就至少有一个作用域, 即全局作用域。凡是代码中有函数,那么这个函数就构成另一个作用域。如果函数中还有函数,那么在这个作用域中就又可以诞生一个作用域。
     
     将这样的所有的作用域列出来,可以有一个结构: 函数内指向函数外的链式结构。就称作作用域链。
     // 案例1:
     function f1() {
         function f2() {
        }
     }
     
     var num = 456;
     function f3() {
         function f4() {    
        }
     }

     // 案例2
     function f1() {
         var num = 123;
         function f2() {
             console.log(num);
        }
         f2();
     }
     var num = 456;
     f1();
     

  • 相关阅读:
    Apache的443端口被占用解决方法
    关于变量初始化问题
    浏览无法加载控件
    关于网络数据传输
    java 对象是在什么时候创建的?
    HTML HTTP
    2020 年计划
    Docker 学习
    [腾讯 TMQ] 接口测试用例设计
    pytest + request
  • 原文地址:https://www.cnblogs.com/superjishere/p/11675268.html
Copyright © 2020-2023  润新知