次のように、標準のconsole.error関数をオーバーライドできます。
//call the error function before it is overriden
console.error( 'foo' );
//override the error function (the immediate call function pattern is used for data hiding)
console.error = (function () {
//save a reference to the original error function.
var originalConsole = console.error;
//this is the function that will be used instead of the error function
function myError () {
alert( 'Error is called. ' );
//the arguments array contains the arguments that was used when console.error() was called
originalConsole.apply( this, arguments );
}
//return the function which will be assigned to console.error
return myError;
})();
//now the alert will be shown in addition to the normal functionality of the error function
console.error( 'bar' );
このソリューションは、Jasminまたはその他のもので機能します。上記のコードを他のコードの前に置くだけで、この後console.error()
の呼び出しはオーバーライドされた関数を呼び出します。