5

我的网站上有一些 console.log 命令。

是否可以用我自己的函数覆盖 console.log?我想自定义该函数,以便它仅在特定变量设置为 true 时记录。

最后,我仍然需要从这个函数调用真正的 console.log。

谢谢凯文

4

3 回答 3

4

只需创建一个闭包,并将原始console.log函数存储在局部变量中。
然后覆盖console.log,并在您检查后调用原始函数:

(function(){
    var original = console.log;

    console.log = function(){
        if ( log ) { // <-- some condition
            original.apply(this, arguments);
        }
    };
})();

这是小提琴:http: //jsfiddle.net/J46w8/

于 2012-06-22T18:50:08.683 回答
0

先保存旧的console.log()

var reallog = console.log;
console.log = function(s) {
    if(s == "a") {
        reallog("a");
    }
}
console.log("b");
于 2012-06-22T18:50:35.267 回答
0
console.constructor.prototype.log = function(msg) {
    alert(msg);
};
于 2012-06-22T18:50:45.633 回答