window._console = window.console;//将原始console对象缓存  
window.console = (function (orgConsole) {  
    return {//构造的新console对象  
        log: getConsoleFn("log"),  
        debug: getConsoleFn("debug"),  
        info: getConsoleFn("info"),  
        warn: getConsoleFn("warn"),  
        exception: getConsoleFn("exception"),  
        assert: getConsoleFn("assert"),  
        dir: getConsoleFn("dir"),  
        dirxml: getConsoleFn("dirxml"),  
        trace: getConsoleFn("trace"),  
        group: getConsoleFn("group"),  
        groupCollapsed: getConsoleFn("groupCollapsed"),  
        groupEnd: getConsoleFn("groupEnd"),  
        profile: getConsoleFn("profile"),  
        profileEnd: getConsoleFn("profileEnd"),  
        count: getConsoleFn("count"),  
        clear: getConsoleFn("clear"),  
        time: getConsoleFn("time"),  
        timeEnd: getConsoleFn("timeEnd"),  
        timeStamp: getConsoleFn("timeStamp"),  
        table: getConsoleFn("table"),  
        error: getConsoleFn("error"),  
        memory: getConsoleFn("memory"),  
        markTimeline: getConsoleFn("markTimeline"),  
        timeline: getConsoleFn("timeline"),  
        timelineEnd: getConsoleFn("timelineEnd")  
    };  
    function getConsoleFn(name) {  
        return function actionConsole() {  
            if (typeof (orgConsole) !== "object") return;  
            if (typeof (orgConsole[name]) !== "function") return;//判断原始console对象中是否含有此方法,若没有则直接返回  
            return orgConsole[name].apply(orgConsole, Array.prototype.slice.call(arguments));//调用原始函数  
        };  
    }  
}(window._console));  

标签: none

评论已关闭