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 }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。