jquery在函数内部更改全局变量

时间:2014-12-25 21:47:56

标签: javascript jquery

var variable = "before";

change();

alert(variable);

function change(){

variable = "after";

}

是否可以在不返回的情况下更改函数内的全局变量?我需要跟注函数change输出"在"

之后

2 个答案:

答案 0 :(得分:7)

是的,这是可能的,但请记住不要在函数内部放置var关键字。

ERORR - 不工作:

var variable = "before";

change();

alert(variable);

function change() {

  var variable = "after";

}

WORKS:

var variable = "before";

change();

alert(variable);

function change() {

  variable = "after";

}

答案 1 :(得分:2)

您应该避免声明全局变量,因为它们将自己添加为window的属性。但是,要回答您的问题,是的,您可以通过更改variablewindow.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"
}

如果您有任何疑问,请与我们联系!