zoukankan      html  css  js  c++  java
  • 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();
     

  • 相关阅读:
    转:npm安装教程
    转:数据库收缩
    转:日志插件 log4net 的使用
    转:更改SQLServer实例默认字符集
    转:IIS 应用程序池 内存 自动回收
    IDisposable
    Sql Server 判断字符串是否可以转数字
    常用算法之快速排序
    Java调用JavaScript
    使用python生成iOS各规格icon
  • 原文地址:https://www.cnblogs.com/superjishere/p/11675268.html
Copyright © 2011-2022 走看看