Подтвердить что ты не робот

Как изменить значение глобальной переменной внутри функции

Я использую JavaScript и создаю глобальную переменную. Я определяю его вне функции, и я хочу изменить значение глобальной переменной изнутри функции и использовать ее из другой функции, как это сделать?

4b9b3361

Ответ 1

Просто укажите переменную внутри функции; нет волшебства, просто используйте его имя. Если он был создан глобально, вы будете обновлять глобальную переменную.

Вы можете переопределить это поведение, объявив его локально с помощью var, но если вы не используете var, то имя переменной, используемое в функции, будет глобальным, если эта переменная объявлена ​​глобально.

Вот почему он считал, что лучше всего всегда публиковать свои переменные с помощью var. Потому что, если вы забудете это, вы можете начать беспорядок с помощью глобальных переменных случайно. Это непростая ошибка. Но в вашем случае этот поворот и станет легким ответом на ваш вопрос.

Ответ 2

var a = 10;

myFunction();

function myFunction(){
   a = 20;
}

alert("Value of 'a' outside the function " + a); //outputs 20

Ответ 3

Просто используйте имя этой переменной.

В JavaScript переменные являются только локальными для функции, если они являются параметрами функции или если вы объявляете их локально явно, набрав ключевое слово var перед именем переменной.

Если имя локального значения имеет то же имя, что и глобальное значение, используйте объект window

Смотрите jsfiddle

x = 1;
y = 2;
function a(y) {
    // y is local to the function, because it is a function parameter
    alert(y); // 10
    y = 3; // will only overwrite local y, not 'global' y
    var x; // makes x a local variable
    x = 4; // only overwrites local x
    alert(y); // 3
    alert(x); // 4
    // global value could be accessed by referencing through window object
    alert(window.y) // 2 global y
}
a(10);
alert(x); // 1; this is the global value
alert(y); // 2; global as well

Ответ 4

<script>
var x = 2; //X is global and value is 2.

function myFunction()
{
 x = 7; //x is local variable and value is 7.

}

myFunction();

alert(x); //x is gobal variable and the value is 7
</script>