首页 > 代码库 > ExtJs的createCallback和createDelegate方法
ExtJs的createCallback和createDelegate方法
1.createCallBack
返回一个带有window对象的函数
1 Function.prototype.createCallback = function(){ 2 var args = arguments; 3 var method = this; 4 return function() { 5 return method.apply(window, args); 6 }; 7 };
2.createDelegate
返回一个函数,传入对象,不传则默认window
1 createDelegate : function(obj, args, appendArgs) 2 { 3 var method = this; 4 return function() { 5 var callArgs = args || arguments; 6 if( appendArgs === true ) 7 { 8 callArgs = Array.prototype.slice.call(arguments, 0); 9 callArgs = callArgs.concat(args); 10 } 11 else if(typeof appendArgs == "number") 12 { 13 callArgs = Array.prototype.slice.call(arguments, 0); // copy arguments first 14 15 var applyArgs = [appendArgs, 0].concat(args); // create method call params 16 Array.prototype.splice.apply(callArgs, applyArgs); // splice them in 17 } 18 return method.apply(obj || window, callArgs); 19 }; 20 }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。