有没有什么方法可以使局部作用域变量在外部作用域中可访问,而不需要创建对象或使用'this'?你说
function foo(){ var bar = 10; }
有什么方法可以使变量'bar'在函数'foo'作用域之外可用吗?
u5i3ibmn1#
不,你不能。Scope为范围。如果你想访问outside,让它声明outside并使用它。事情就是这样设计的。我不建议任何蹩脚的方法来使之成为可能。
p8h8hvxi2#
将值分配给window对象的属性:
window
function foo(){ window.bar = 10; } console.log(window.bar); //10
编辑:既然你不能接受他的回答,那就不-你的要求是不可能的。唯一的解决方案是在全局范围内声明变量,然后在以后初始化它。
db2dz4w83#
不能在函数外部访问局部变量。下面的文章可能会帮助你更详细地了解范围-What is the scope of variables in JavaScript?
3wabscal4#
你可以这样做:
var myScopedVariables = function foo(){ var bar = 10; return [bar]; } console.log(myScopedVariables);
snz8szmq5#
function myFunction(){ myVar = 'Hello';//public void run();console.log();// output:“Hello”
5条答案
按热度按时间u5i3ibmn1#
不,你不能。Scope为范围。如果你想访问outside,让它声明outside并使用它。
事情就是这样设计的。我不建议任何蹩脚的方法来使之成为可能。
p8h8hvxi2#
将值分配给
window
对象的属性:编辑:
既然你不能接受他的回答,那就不-你的要求是不可能的。唯一的解决方案是在全局范围内声明变量,然后在以后初始化它。
db2dz4w83#
不能在函数外部访问局部变量。
下面的文章可能会帮助你更详细地了解范围-
What is the scope of variables in JavaScript?
3wabscal4#
你可以这样做:
snz8szmq5#
function myFunction(){ myVar = 'Hello';//public void run();console.log();// output:“Hello”