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"  外部变量不仅可以被访问到也可以被修改