首页 > 代码库 > JavaScript高级程序设计之作用域链

JavaScript高级程序设计之作用域链

JavaScript只有函数作用域;每个函数都有个作用域链直达window对象。

变量的查找由内而外层层查找,找到即止。

同时不仅可以查找使用,甚至可以改变外部变量。

var color = "blue";

function changeColor() {
    var anotherColor = "red";

    function swapColors() {
        var tempColor = anotherColor;

        anotherColor = color;
        color = tempColor;
    }

    swapColors();
}

changeColor();

console.log(color);  // "red"  外部变量不仅可以被访问到也可以被修改