问题描述
《JavaScript设计模式与开发实践》P215第5行代码为什么要改变__self的this指向?它原先的this指向是什么?
相关代码
Function.prototype.before = function( beforefn ) {
var __self = this;
return function() {
beforefn.apply( this, arguments );
return __self.apply( this, arguments ); // __self原先的this指向不是document吗?为什么这里要改变this指向?
}
}
document.getElementById = document.getElementById.before(function(){
alert (1);
});
var button = document.getElementById( 'button' );
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…