0142 scope chain

The scope chain

只要是代码都一个作用域中,写在函数内部的局部作用域,未写在任何函数内部,即在全局作用域中;
如果函数中还有函数,那么在这个作用域中就又可以诞生一个作用域;

根据在[`内部函数可以访问外部函数变量`]的这种机制,用链式查找决定哪些数据能被内部函数访问,就称作作用域链。
作用域链:采取就近原则的方式来查找变量最终的值。
案例分析1:
function f1() {
    var num = 123;
    function f2() {
        console.log( num );
    }
    f2();
}
var num = 456;
f1();


var a = 1;
function fn1() {
    var a = 2;
    var b = '22';
    fn2();
    function fn2() {
        var a = 3;
        fn3();
        function fn3() {
            var a = 4;
            console.log(a); //a的值 ? 4
            console.log(b); //b的值 ? 22
        }
    }
}
fn1();

Guess you like

Origin www.cnblogs.com/jianjie/p/12151848.html