サイト全体にいくつかの 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);
};