关于JavaScript函数参数e?

当我们需要用到event事件的属性或方法时有时候会这样写,如下列语句:

...
function func(e){
var e = e?e:window.event;
...
}

这个e放到函数里面作为一个参数到底什么意思,这种形式到底什么意思,有没有关于这种用法形式原理的详细解释或者参考手册?以下为通过这个方式写的一段代码,firefox下报错 ' e is undefined',错在哪里:(将该段代码替换head头的<script></script>标签即可)

....

<script type="text/javascript">
window.onload = function(){
a();
}
function cancelBubble(e){
var e = e?e:window.event;
if(window.event) e.cancleBubble = true;
else e.stopPropagation(); ///////////报错点: e is undefined
}
function a(e){
var e = new event();
alert(e);
cancelBubble(e);
}
function b(){
alert(1);
}
</script>

....

慕的地6264312
浏览 1040回答 3
3回答

动漫人物

以e为参数的函数一般是以回调函数的形式被调用的。也就是在event发生的时候回调。调用的时候 e 就包含了发生事件的具体内容。function func(e){e = e || window.event;... ...}这样写的好处就是保证 e 不会为 undefined。window.event 总是有的。
打开App,查看更多内容
随时随地看视频慕课网APP