サイト全体にいくつかの console.log コマンドが広がっています。
自分の関数で console.log を上書きすることは可能ですか? 特定の変数が true に設定されている場合にのみログを記録するように、関数をカスタマイズしたいと考えています。
最後に、この関数から実際の console.log を呼び出す必要があります。
ありがとうケビン
サイト全体にいくつかの console.log コマンドが広がっています。
自分の関数で console.log を上書きすることは可能ですか? 特定の変数が true に設定されている場合にのみログを記録するように、関数をカスタマイズしたいと考えています。
最後に、この関数から実際の console.log を呼び出す必要があります。
ありがとうケビン
クロージャを作成し、元のconsole.log
関数をローカル変数に格納するだけです。
次に、をオーバーライドconsole.log
し、チェックを行った後に元の関数を呼び出します。
(function(){
var original = console.log;
console.log = function(){
if ( log ) { // <-- some condition
original.apply(this, arguments);
}
};
})();
これがフィドルです:http://jsfiddle.net/J46w8/
console.log()
最初に古いものを保存します。
var reallog = console.log;
console.log = function(s) {
if(s == "a") {
reallog("a");
}
}
console.log("b");
console.constructor.prototype.log = function(msg) {
alert(msg);
};