--- title: 'TypeError: variable "x" redeclares argument' slug: Web/JavaScript/Reference/Errors/Var_hides_argument translation_of: Web/JavaScript/Reference/Errors/Var_hides_argument ---
TypeError: variable "x" redeclares argument (Firefox)
{{jsxref("TypeError")}} 警告仅仅在 严格模式下 出现。
函数参数中出现了名称相同的变量,之后在函数体中使用 var
赋值语句重新声明。 这可能是一个命名冲突,所以 JavaScript 警告了它。
这个错误只在 严格模式的代码 中作为警告出现。在非严格模式的代码中,重新声明会被忽略。
这个例子中,变量 arg
重新声明了参数。
"use strict"; function f(arg) { var arg = "foo"; }
为了修复警告,var
语句应该被移除,因为变量已经存在。或者,你可以重命名函数参数或者变量名称。
"use strict"; function f(arg) { arg = "foo"; }