我试图实现以下代码:
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;
解决此问题的最佳方法是什么?
答案 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已被定义为参数。所以当你定义一些与参数相同的变量时,它会抱怨。