有什么方法可以在超出范围时更改变量?我通常知道您不能,但是我想知道是否有任何技巧或替代。例如,有什么方法可以使以下工作正常进行:

function blah(){
 var a = 1
}
a = 2;
alert(blah());

编辑(为澄清):

假设的情况是修改setInterval函数中使用的变量,该函数也超出范围,并且不能在以前的javascript文件中使用。这是一个非常古怪的场景,但这是我要问的一个场景。

最佳答案

不,没有技巧或替代。您必须计划让两个地方都可以在同一范围内看到变量。

我可以想到的关于范围的唯一技巧是在浏览器中使用window来访问全局对象。这可以帮助您获得“隐藏”变量-范围内的变量,但其名称已被局部变量(或作用域链中更接近的其他变量)取代。

闭包和类可以为您提供有关范围的其他一些技巧,但是没有一个技巧可以让您完全覆盖范围规则。

关于javascript - 更改变量超出范围?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2762516/

10-11 22:53
查看更多