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

    JavaScript解释器在执行代码时是如何查找变量的?

    var x = 10;
    function test1() {
        var y = 11;
        function test2(){
            var z = 12;
            function test3(){
                var a = 13;
                console.log(a);
                console.log(z);
                console.log(y);
                console.log(x);
            }
            test3();
        }
        test2();
    }
    test1();

    如果把以上的代码在浏览器的环境下运行,那么它们的全局对象与调用对象如下图所示:

    0a09b80d87db90ae6188a4c575357001

    所以由此可见,正在被执行的函数,它的作用域处于作用域链的最顶端。查找变量时也是从作用域链的顶端向底部开始查找,直到第一次查找到变量就使用此变量。如果一至到了window的全局对象中都还没有找到变量,那么会抛出变量没有申明的异常。

  • 相关阅读:
    sql常用函数
    sql数据库查询
    数据库增删改查
    数据库基本概念
    C#总结
    C#结构体
    C#常用函数类
    初识函数
    C#冒泡排序 折半查找
    12月27日笔记
  • 原文地址:https://www.cnblogs.com/wangg-mail/p/4354739.html
Copyright © 2011-2022 走看看