消息
TypeError: variable "x" redeclares argument (Firefox)
错误类型
哪里有问题?
函数参数中出现了名称相同的变量,之后在函数体中使用 var
赋值语句重新声明。 这可能是一个命名冲突,所以 JavaScript 警告了它。
这个错误只在 严格模式的代码 中作为警告出现。在非严格模式的代码中,重新声明会被忽略。
示例
无效情况
这个例子中,变量 arg
重新声明了参数。
"use strict"; function f(arg) { var arg = "foo"; }
无效情况
为了修复警告,var
语句应该被移除,因为变量已经存在。或者,你可以重命名函数参数或者变量名称。
"use strict"; function f(arg) { arg = "foo"; }