在Javascript中以任何方式访问外部作用域中的局部作用域变量?

时间:2015-09-13 12:41:53

标签: javascript

有没有办法在不创建对象或不使用'this'的情况下在外部作用域中访问本地作用域变量?

说,

function foo(){
  var bar = 10;

}

如何在函数'foo'范围之外使变量'bar'可用?

3 个答案:

答案 0 :(得分:4)

没有。只是你不能。 范围是范围。如果您想访问外部,请在外部声明并使用它。

事情的设计方式。我并没有建议任何可行的方法来实现它。

答案 1 :(得分:2)

将值分配给window对象的属性:

function foo(){
    window.bar = 10;
}

console.log(window.bar); //10

编辑:

既然你不能接受他的答案,那么不 - 你所要求的是不可能的。唯一的解决方案是在全局范围内声明变量,然后稍后对其进行初始化。

答案 2 :(得分:1)

您无法在函数外部访问本地变量。

以下帖子可能会帮助您更详细地了解范围 -

What is the scope of variables in JavaScript?