有什么方法可以在超出范围时更改变量?我通常知道您不能,但是我想知道是否有任何技巧或替代。例如,有什么方法可以使以下工作正常进行:
function blah(){
var a = 1
}
a = 2;
alert(blah());
编辑(为澄清):
假设的情况是修改setInterval函数中使用的变量,该函数也超出范围,并且不能在以前的javascript文件中使用。这是一个非常古怪的场景,但这是我要问的一个场景。
最佳答案
不,没有技巧或替代。您必须计划让两个地方都可以在同一范围内看到变量。
我可以想到的关于范围的唯一技巧是在浏览器中使用window
来访问全局对象。这可以帮助您获得“隐藏”变量-范围内的变量,但其名称已被局部变量(或作用域链中更接近的其他变量)取代。
闭包和类可以为您提供有关范围的其他一些技巧,但是没有一个技巧可以让您完全覆盖范围规则。
关于javascript - 更改变量超出范围?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2762516/