javascript变量范围
我有下面的代码 它正在运行,但是控制台中的输出是 即时:正确javascript变量范围,javascript,jquery,variables,scope,Javascript,Jquery,Variables,Scope,我有下面的代码 它正在运行,但是控制台中的输出是 即时:正确 实例2:错误 因为变量在全局范围内没有被覆盖。 如何访问全局范围内的变量 var instant = false; $('document').ready(function(){ chrome.extension.sendRequest({ action: "getStorage", key: "instant" }, function(response) { instant = true; c
实例2:错误 因为变量在全局范围内没有被覆盖。 如何访问全局范围内的变量
var instant = false;
$('document').ready(function(){
chrome.extension.sendRequest({
action: "getStorage",
key: "instant"
}, function(response) {
instant = true;
console.log('instant: ', instant);
});
console.log('instant2: ', instant);
});
它正在被覆盖,但稍后会被覆盖。您的
函数(响应)
在外部函数返回后才会执行。窗口。instant
应获取全局变量的值。不是在执行行instant=true
之后。如果前面没有var
,则会覆盖全局变量。这取决于您尝试执行的操作。如果您想要instant的本地版本,请使用var
声明它,即var instant=true代码>。实际上,我只想在完成此操作后在全局范围内使用该变量。我现在要解决的是将所有其他代码移到回调中。但它很混乱。