Simple Logging for Functions
overrides!
by Steven Senkus
JavaScript
/*var alert = function alert() { // override window.alert
console.log('alert overridden, result:', arguments[0]);
};
var confirm = function confirm() { // override window.alert
console.log('confirm overriden:', arguments[0]);
};
*/
var logger, confirm = alert = logger = function logger(result) {
console.log(result + ' logged');
};
var add = function (a, b, log) {
this.log = log || console.log;
console.log('log set as ' + this.log.name); // works in FF, not sure about others
if (this.log) {
try {
return this.log(a + b);
} catch (e) {
log(e);
}
}
return a + b;
};
var x = add;
add(2, 4);
add(3, 5, alert);
add(30, 5, alert);
add(40, 5, confirm);
add(4, 12, logger);
x(123, 123, logger);
confirm('asdfasdfaf')
alert('asadfaffagafaga')
add(200,300);