Javascript 如何修复jslint消息:变量已定义
我试图实现以下代码:Javascript 如何修复jslint消息:变量已定义,javascript,Javascript,我试图实现以下代码: var action = function (e) { if (!e) { var e = window.event; } e.cancelBubble = true; if (e.stopPropagation) { e.stopPropagation(); } container.objet.hide(); } 但jslint抱怨如下: “e”已定义。var e=window.e
var action = function (e) {
if (!e) {
var e = window.event;
}
e.cancelBubble = true;
if (e.stopPropagation) {
e.stopPropagation();
}
container.objet.hide();
}
但jslint抱怨如下:
“e”已定义。var e=window.event代码>
解决此问题的最佳方法是什么?使用命名参数创建一个局部作用域变量(这就是var
所做的)。由于您有一个参数e
,并且使用var e
,因此您尝试创建变量两次
从第三次使用e
的位置删除var
var event = function (e) { // First time
if (!e) { // Second time
e = window.event; // Third time
在函数中,实际上e被定义为参数。因此,当您定义与参数相同的变量时,它会发出抱怨 作为旁注,使用event作为函数名不会导致问题,因为全局范围(window.event)中已经存在event?只需跳过var语句:e=window.event;将if替换为:e=e | window.event;