首页 > 代码库 > 作用域链概念介绍

作用域链概念介绍

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Document</title></head><body>        <script type="text/javascript">        // 作用域链        // 每一个函数都有一个作用域, 如果一个函数内部又嵌套链另外一个函数,        // 嵌套的函数也会又一个作用域,这样,嵌套函数就能访问到外部函数中的变量,        // 以及全局作用域中的变量,此时就形成了一条作用域链        // (包括:自身的作用域, 以及外部函数的作用域, 以及全局作用域)        // 全局作用域: script标签包裹的内容就是一个作用域        var abc = 123;        // fn 中能访问到的变量由那些:        // 1 自身定义的变量        // 2 上一级作用域中的变量(全局作用域)        // foo 中能访问到的变量由那些:        // 1 自身定义的变量        // 2 函数fn中的变量        // 3 全局作用域中的变量        function fn() {            var a = 456;            function foo() {                var num = 123;                // f的作用域链: f作用域 -> foo作用域 -> fn作用域 -> 全局作用域                function f() {}            }            foo();            // console.log(num);        }    </script></body></html>

 

作用域链概念介绍