Я использую JavaScript и создаю глобальную переменную. Я определяю его вне функции, и я хочу изменить значение глобальной переменной изнутри функции и использовать его из другой функции, как мне это сделать?
источник
Я использую JavaScript и создаю глобальную переменную. Я определяю его вне функции, и я хочу изменить значение глобальной переменной изнутри функции и использовать его из другой функции, как мне это сделать?
Просто укажите переменную внутри функции; никакой магии, просто используйте это имя. Если он был создан глобально, вы обновите глобальную переменную.
Вы можете переопределить это поведение, объявив его локально с помощью var
, но если вы не используете var
, то имя переменной, используемое в функции, будет глобальным, если эта переменная была объявлена глобально.
Вот почему рекомендуется всегда явно объявлять переменные с помощью var
. Потому что, если вы его забудете, вы можете случайно начать возиться с глобальными объектами. Это легко сделать. Но в вашем случае это обернется и станет легким ответом на ваш вопрос.
console.log
он запускается немедленно, но функция успеха ajax запускается только в какой-то момент позже, когда вызов ajax фактически возвращает ответ. Это фундаментальный момент об асинхронной природе ajax: код в функциях закрытия не выполняется последовательно с кодом вокруг него. Это важно понимать при изучении кода, управляемого событиями.источник
Просто используйте имя этой переменной.
В JavaScript переменные являются локальными для функции только в том случае, если они являются параметром (-ами) функции или если вы явно объявляете их как локальные, вводя
var
ключевое слово перед именем переменной.Если имя локального значения совпадает с именем глобального значения, используйте
window
объектСм. Этот jsfiddle
редактировать
В ES2015 появилось еще два ключевых слова
const
иlet
, которые также влияют на объем переменной ( спецификация языка )источник
источник
var
ключевое слово внутри функции, то вам не придется иметь дело сdocument.getElementById("outside").value = x;
С помощью window ['variableName'] или window.variableName вы можете изменить значение глобальной переменной внутри функции.
источник