如何修复jslint消息:已定义变量

时间:2011-11-09 09:03:32

标签: javascript

我试图实现以下代码:

var action = function (e) {     
    if (!e) {
        var e = window.event;
    }
    e.cancelBubble = true;
    if (e.stopPropagation) {
        e.stopPropagation();
    }
    container.objet.hide();
}

但jslint抱怨以下内容:

'e' is already defined. var e = window.event;

解决此问题的最佳方法是什么?

2 个答案:

答案 0 :(得分:5)

使用命名参数创建一个本地范围的变量(这是var所做的)。由于您有一个参数e并且您使用var e,因此您尝试两次创建变量。

从第三次使用var的位置移除e

var event = function (e) {      // First time
    if (!e) {                   // Second time
        e = window.event;       // Third time

答案 1 :(得分:0)

在函数中,实际上e已被定义为参数。所以当你定义一些与参数相同的变量时,它会抱怨。