ExtJs的createCallback和createDelegate方法

时间:2014-05-24 02:41:32   收藏:0   阅读:1003

1.createCallBack

  返回一个带有window对象的函数

bubuko.com,布布扣
1 Function.prototype.createCallback = function(){
2   var args = arguments;
3   var method = this;
4   return function() {
5     return method.apply(window, args);
6   };
7 };
bubuko.com,布布扣

 

2.createDelegate

  返回一个函数,传入对象,不传则默认window

bubuko.com,布布扣
 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     }
bubuko.com,布布扣

 

ExtJs的createCallback和createDelegate方法,布布扣,bubuko.com

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!