解决方案 »

  1.   

    a || b,只有当 a 和 b 都为假的时候才为假。
    如果 a 是真,则 a || b 就返回 a,压根就不去计算 b 是否为真。注意这里返回的是 a或者b本身,而不是返回 true 或 false。 
    (貌似这种操作符叫 短路操作符,类似的还有 && ,如 a && b,如果 a 是false,则该表达式直接返回 a,根本不去计算 b 的值)event 在有些浏览器(如 IE )里是 window 对象的属性,即是全局变量,在有些浏览器里是运行时的临时变量,需要有参数引导才可使用。var theEvent = window.event || e; 一般用于处理浏览器兼容的问题,比如说a.onclick = function (e) {
        var theEvent = window.event || e;   
    ......  
    }
    在上面的代码里,如果是在 IE 浏览器,则 window.event 为真,window.event || e 返回 window.event,所以 theEvent = window.event,在 firefox 中,window.event为假,返回 e,则 theEvent = e
      

  2.   

    在 javascript 中 || 是代表或的意思,但返回的却不一定是boolean值。如:表达式A || 表达式B 
    工作原理是:如果A的值为true(或A的值可以被当做为true)就返回A的值并且不执行表达式B,否则执行表达式B并且返回B的值javascript中0 "" null undefined会被当做为false,其实的值都可以被当做为true另外 && 同理就是说var theEvent = window.event || e
    等同于
     var theEvent = window.event ? window.event : e