JavaScrtipt动态变换运行时上下文特性,这种特性主要就体现在apply,call两个方法的运用上
apply,call 方法是在Function.prototype上的,所以所有方法都有apply 和call方法
function.apply(context,[arg1,arg2])
function.call(context,arg1,arg2);
言归正传,以下是自定义console.log的实现
(function(){
if(window.console && console.log){
var old = console.log;
console.log = function(){
Array.prototype.unshift.call(arguments, 'DateTime: '+new Date());
old.apply(this, arguments);
}
}
})();