2010-11-16 4 views
3

У меня есть ниже код,Переменная JavaScript сфера

он работает, однако выход в консоли

мгновенным: истинный
instant2: ложные

как переменная не переписываться в глобальном масштабе. Как получить доступ к переменной в глобальной области?

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); 
}); 

ответ

6

Это становится переопределенным, но позже. Ваш function(response) не выполняется, пока не вернется внешняя функция.

+0

Cheers, Вы верны. Как я могу это исправить? – Hailwood

+0

Это зависит от того, что вы пытаетесь сделать. Если вы хотите локальную версию мгновенного объявления, объявите ее с помощью «var», то есть «var instant = true;». – Skilldrick

+0

На самом деле я просто хочу использовать переменную в глобальной области действия после ее завершения. – Hailwood

0

window.instant должен присвоить вам значение вашей глобальной переменной.

+0

Не после выполнения строки 'instant = true'. Без 'var', предшествующих ему, это перезапишет глобальную переменную. – Skilldrick

Смежные вопросы