我想定义一个变量(布尔值),然后在函数中使用它两次。我开始定义一个全局变量,然后在我的函数中本地使用这个变量,如下所示:
var inpLock = false;
…
function doSomething(inpLock) {
inpLock = true;
switch …
case
case
inpLock = false;
}
运行它会发生什么:它将变量设置为true但不会返回false。如果我在函数中声明变量,如:var inpLock,它也将无效。任何帮助将不胜感激。
答案 0 :(得分:1)
为函数参数(doSomething(inpLock)
)指定一个名称,声明该名称的 local 变量。
这会屏蔽任何具有相同名称的全局变量。
您对函数内部变量所做的更改只会触及局部变量并忽略全局变量。
避免在嵌套作用域中重用变量名称。这会造成混乱。