• JavaScript基础概念之----作用域


    1、在JS中,作用域就是指 执行代码的上下文

    2、有三种类型的作用域:

    • 全局作用域
    • 局部作用域(也称为“函数作用域”)
    • eval作用域

    3、在全局作用域中定义的变量,从任何地方都可以访问,因为它是作用域链中最高层(最后一个)。它的生命周期将跨越整个程序。在JavaScript中没有使用 var 关键字声明的变量都是全局变量。

    4、在函数内部使用 var 定义的变量,其作用域是局部作用域,局部作用域 只对该函数的其他表达式是“可见的”,包括嵌套/子函数中的代码。函数的参数、以及arguments对象,都是属于局部作用域。

    //全局作用域
    var myVal = 0;
    
    var func = function(){
    
        //局部作用域
        var myVal = 1;
    
        var myFunc = function(){
    
            //局部作用域
            var myVal = 2;
        }
    }
    
    //eval作用域
    eval('var a = 3');

    5、JavaScript中,没有块级作用域。如 if/for 无法创建作用域,因此变量可以相互覆盖(除ES6中新语法)。

    6、在函数中声明局部变量,必须使用 var 关键字,否则变量将会是全局变量。在函数体内 ,局部变量的优先级比同名的全局变量高。

    7、作用域在函数定义时确认,而非调用时。这也叫词法作用域。

    8、动态作用域 只存在于代码执行过程中

  • 相关阅读:
    QT 图形视图框架
    QSting, QChar, char等的转换
    ucosii(2.89)mbox 应用要点
    ucosii(2.89)semaphore 应用要点
    ucosii(2.89)mutex 应用要点
    ucosii(2.89) 在Lpc1765移植中定时器的使用。
    c++中虚函数的需要性,虚析构函数的必要性
    转 在Qt中用QAxObject来操作Excel
    关于 QObject 类
    关于sigleton模式
  • 原文地址:https://www.cnblogs.com/adhehe/p/9784512.html
Copyright © 2020-2023  润新知