在JavaScript中,有什么方法可以访问外部作用域中的局部作用域变量?

f8rj6qna  于 2023-05-05  发布在  Java
关注(0)|答案(5)|浏览(160)

有没有什么方法可以使局部作用域变量在外部作用域中可访问,而不需要创建对象或使用'this'?
你说

function foo(){
  var bar = 10;

}

有什么方法可以使变量'bar'在函数'foo'作用域之外可用吗?

u5i3ibmn

u5i3ibmn1#

不,你不能。Scope为范围。如果你想访问outside,让它声明outside并使用它。
事情就是这样设计的。我不建议任何蹩脚的方法来使之成为可能。

p8h8hvxi

p8h8hvxi2#

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

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

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

编辑:
既然你不能接受他的回答,那就不-你的要求是不可能的。唯一的解决方案是在全局范围内声明变量,然后在以后初始化它。

db2dz4w8

db2dz4w83#

不能在函数外部访问局部变量。
下面的文章可能会帮助你更详细地了解范围-
What is the scope of variables in JavaScript?

3wabscal

3wabscal4#

你可以这样做:

var myScopedVariables = function foo(){
    var bar = 10;
    return [bar];
} 
console.log(myScopedVariables);
snz8szmq

snz8szmq5#

function myFunction(){ myVar = 'Hello';//public void run();console.log();// output:“Hello”

相关问题