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

var variable = "before";

change();

alert(variable);

function change(){

variable = "after";

}

Может ли вносить изменения в глобальную переменную внутри функции без возврата? Мне нужно после change функции вызова вывести "после"

2 ответа

Да, возможно, но не забудьте НЕ поместить ключевое слово var перед ним внутри функции.

ERORR - НЕ РАБОТАЕТ:

var variable = "before";

change();

alert(variable);

function change() {

 var variable = "after";

}

РАБОТАЕТ:

var variable = "before";

change();

alert(variable);

function change() {

 variable = "after";

}


Вам следует избегать объявления глобальных переменных, поскольку они добавляют себя в качестве свойств в window. Однако, чтобы ответить на ваш вопрос, да, вы можете изменить глобальные переменные, установив либо variable либо window.variable.

Пример: http://jsbin.com/xujenimiwe/3/edit?js,console,output

var variable = "before"; // will add property to window -- window.variable

console.log(variable);

change();

console.log(window.variable);

function change(){

 variable = "after"; // can also use window.variable = "after"
}

Пожалуйста, дай мне знать, если возникнут какие-либо вопросы!

licensed under cc by-sa 3.0 with attribution.