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。实际上,我只想在完成此操作后在全局范围内使用该变量。我现在要解决的是将所有其他代码移到回调中。但它很混乱。