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 に答える