建站学 - 轻松建站从此开始!

建站学-个人建站指南,网页制作,网站设计,网站制作教程

演变的javascript函数链

时间:2011-04-06 10:37来源: 作者: 点击:
演变的javascript函数链 最易读版 01 function chain(obj){  02     function fun(){  03         if (arguments.length == 0){  04        

演变的javascript函数链

最易读版

01 function chain(obj){ 

02     function fun(){ 

03         if (arguments.length == 0){ 

04             return fun.obj; 

05         } 

06         var methodName = arguments[0], methodArgs = [].slice.call(arguments,1); 

07         fun.obj[methodName].apply(fun.obj,methodArgs); 

08         return fun; 

09     } 

10     fun.obj = obj; 

11     return fun; 

12 }

 

易读版

01 function chain(obj){ 

02     return function(){ 

03         var Self = arguments.callee; Self.obj = obj; 

04         if(arguments.length==0){ 

05             return Self.obj; 

06         }    

07         var methodName = arguments[0], methodArgs = [].slice.call(arguments,1); 

08         Self.obj[methodName].apply(Self.obj,methodArgs); 

09         return Self; 

10     } 

11 }

 

精简版

01 function chain(obj){ 

02     return function(){ 

03         var Self = arguments.callee; Self.obj = obj; 

04         if(arguments.length==0){ 

05             return Self.obj; 

06         }  

07         Self.obj[arguments[0]].apply(Self.obj,[].slice.call(arguments,1)); 

08         return Self; 

09     } 

10 }

 

调用

1 chain(obj)  

2     (method1,arg1) 

3     (method2,arg2) 

4     (method3,arg3) 

5     ...

 

(责任编辑:admin)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片