首页 > 解决方案 > 有没有办法访问阴影变量?

问题描述

有没有办法在 x() 的范围内访问阴影变量 a 的值

function x () { 
  a = 1;  

  function foo() { 
    a = 2;              
    console.log(a);
  }
                  
  foo();
};  

x();
console.log(window.a);

标签: javascript

解决方案


阅读这个你不知道 JS的作用域和闭包部分,它解释得很好

尝试这个:

function x () { 
          a = 1;  

  function foo() { 
    /* when you write a = 2, you are assining 2 to the global a */
    var a = 2;     
    console.log("global a", window.a);
    console.log("local a", a);
  }

  foo();
};  

x();
console.log(window.a);


推荐阅读