js经典代码技巧学习之一:使用三元运算符处理javascript兼容

window.Event = {
        add: function() {
            //使用条件表达式检测标准方法是否存在
            return document.addEventListener ?   
            function(a, b, c) {
            /*如果标准方法存在则使用标准的方法。这里注意这个将false写为“!1”的写法,它比直接写“false”好在哪里呢?我想应该是为了少写几个字符,减少文件体积。因为js是要下载到用户计算机中去执行的,所以将!1自动转换为false对于用户的计算机资源开销来说不算什么,但是如果每个false节省三个字符,如果一个文件中有很多false,就可以节省可观的字节量,这对于大规模并发的访问还是非常有意义的。*/
                a.addEventListener(b, c, !1)
            }: function(a, b, c) {
                a.attachEvent("on" + b, c)
            }
        } (),
        remove: function() {
            return document.removeEventListener ?
            function(a, b, c) {
                a.removeEventListener(b, c, !1)
            }: function(a, b, c) {
                a.detachEvent("on" + b, c)
            }
        } (),
        stop: function(a) {
            a && a.stopPropagation ? (a.stopPropagation(), a.preventDefault()) : (window.event.cancelBubble = !0, window.event.returnValue = !1)
        }
    };    
原文地址:https://www.cnblogs.com/macliu/p/4024868.html