在javascript中的函数中使用全局变量

时间:2017-08-07 11:04:57

标签: javascript scope global-variables local-variables

我想定义一个变量(布尔值),然后在函数中使用它两次。我开始定义一个全局变量,然后在我的函数中本地使用这个变量,如下所示:

var  inpLock = false;
…
function doSomething(inpLock) {
    inpLock = true;
    switch …
        case
        case
    inpLock = false;
}

运行它会发生什么:它将变量设置为true但不会返回false。如果我在函数中声明变量,如:var inpLock,它也将无效。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

为函数参数(doSomething(inpLock))指定一个名称,声明该名称的 local 变量。

这会屏蔽任何具有相同名称的全局变量。

您对函数内部变量所做的更改只会触及局部变量并忽略全局变量。

避免在嵌套作用域中重用变量名称。这会造成混乱。