实现方式
还是最近在做的移动端调试工具,需要重写window.console对象,通过重写可以将之后代码中的控制台输出映射到自己的输出面板中。
上代码,重写的逻辑是很简单的。
详情解释
for (var key in console)
遍历console对象,因为console对象下并不是所有方法都需要重写,所以这里用key.match(/log|debug|error|info|warn|dir/)
筛选出需要重写的方法tempFunction = console[key];
用临时遍历保存console下的方法,并根据key更换最后需要显示的颜色- 闭包保留color和tempFunction,直接
console[key] = function () {};
重写console下的方法 - 重写方法的内部实现根据需求来写