文享日志

代理函数proxy

JavaScript

发表于2017年10月20日22:29:49

0条评论 233次阅读


	var proxy = function(func, thisObject){ 
		return function(){
				return func.apply(thisObject, arguments); 
			  };
	}

	var clicky = { 
		wasClicked: function(){
			console.log('hahha')
		},
		addListeners: function(){
			//注意:这里没有点击时,就调用了proxy,所以this还是指向clicky对象
			//点击完之后,this才指向当前点击的对象
			//还可以将当前this保存到一个变量里,调用时self.wasClicked
				$('.clicky').click(proxy(this.wasClicked, this));
		}
	};
	clicky.addListeners();

        函数解决了切换上下文时this指向的问题。这种问题一般可以用保存this到局部变量,再调用当前对象函数来解决。再有就是这个函数。原文说这样写可以让代码干净一些

👍 0  👎 0
共有0条评论

发表新评论

提交

广告展示

腾讯云推广 阿里云推广