Errors: Var hides argument
Errors: Var hides argument
信息
TypeError: variable "x" redeclares argument (Firefox)
错误类型
TypeError
仅在严格模式下警告。
什么地方出了错?
相同的变量名称作为函数参数出现,然后再次使用var
函数体中的赋值重新声明。这可能是一个命名冲突,因此JavaScript会对此提出警告。
此错误仅作为严格模式代码中的警告发生。在非严格的代码中,重新宣布可忽略。
示例
无效的情况
在这种情况下,变量“arg”重新声明了参数。
'use strict';
function f(arg) {
var arg = 'foo';
}
有效的情况
为了解决这个警告,该var
语句可以省略,因为变量已经存在。在其他情况下,您可以重命名函数参数或变量名称。
'use strict';
function f(arg) {
arg = 'foo';
}