e=e || window.event这种写法不应该写成e=event || window.event吗?这样才把这个event对象传给e啊? 不解~
因为事件对象可以表示为e 、ev、event三者中的任何一个所以e=e || window.event是正确的
如果写成如下相信你应该看得更清楚一点:
var eve = e || window.event;
即eve为定义的变量,而e=e || window.event的第一个e由于在等号左边,是赋值行为(其原先的值是传递进来的参数e,但由于赋值最后被覆盖),第二个e是传递进来的参数,而window.event是系统级的对象(可以理解为固定写法)。反过来说如果你传入的参数是event(此时这个event仅仅是个参数,不能等同于window.event),那么函数体就应该是你所说的e=event || window.event。