My Book

监听load事件

1、实现一个监听load事件的接口window.load(callback);
2、多次调用的时候,保证执行顺序,先绑定的先执行
3、如果load事件已经出发,调用时会直接执行该回调

    window.onload = (function(){
        var loaded = false,arr = [];
        window.onload = function(){
            loaded = true;
            for(var i=0;i<arr.length;i++){
                arr[i]();
            }
        }
        return function(callback){
            if(typeof callback !== "function") return;
            if(loaded){
                callback();
            }else {
                arr.push(callback);
            }
        }

    }())