首页 > 代码库 > proxy改变this指向
proxy改变this指向
var core_slice = Array.prototype.slice;var proxy = function(context,fn) { var args, proxy; if ( typeof fn !== ‘function‘) { return undefined; } args = core_slice.call( arguments, 2 ); proxy = function() { return fn.apply( context, args.concat( core_slice.call( arguments ) ) ); }; return proxy;};//调用1:var show = function(){ alert(this);}proxy(document,show)(); //document//调用2:var show = function(n1,n2){ alert(n1*n2); alert(this);}proxy(document,show,3,4)(); //12 documentproxy(document,show)(3,4); //12 documentproxy(document,show,3)(4); //12 document//调用3:var obj = { show:function(n1,n2){ alert(n1*n2) alert(‘obj -> show‘); }};document.onclick = proxy(obj,function(){ this.show(3,4);});
proxy改变this指向
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。