问答详情
源自:3-2 IE中的事件对象

关于e的问题

e=e || window.event这种写法不应该写成e=event || window.event吗?这样才把这个event对象传给e啊?  不解~

提问者:歌风on 2016-01-23 11:40

个回答

  • tanq
    2016-01-23 14:24:26

    因为事件对象可以表示为e 、ev、event三者中的任何一个所以e=e || window.event是正确的

  • HandMU
    2016-01-23 13:59:09

    如果写成如下相信你应该看得更清楚一点:

    var eve = e || window.event;

    即eve为定义的变量,而e=e || window.event的第一个e由于在等号左边,是赋值行为(其原先的值是传递进来的参数e,但由于赋值最后被覆盖),第二个e是传递进来的参数,而window.event是系统级的对象(可以理解为固定写法)。反过来说如果你传入的参数是event(此时这个event仅仅是个参数,不能等同于window.event),那么函数体就应该是你所说的e=event || window.event。