关于这个javascript检查的说明

时间:2011-05-30 07:35:54

标签: javascript javascript-events

function doSomething(e) {
    var targ;
    if (!e) var e = window.event; //<<<< what does it do this check?
    if (e.target) targ = e.target;
}

为什么我们需要检查一下?

2 个答案:

答案 0 :(得分:2)

这增加了与旧版(Internet Explorer?)浏览器的兼容性,这些浏览器不支持将event对象传递给处理程序,而是在窗口对象上定义它们。

var中不需要var e = window.event,因为它已经被声明(参数)。

它也可以写成e = e || window.event;

答案 1 :(得分:1)

基本上这是检查是否设置了e变量。如果不是 - 则为其分配window.event值(发生的窗口事件)