最易读版 复制代码 代码如下: function chain(obj){ function fun(){ if (arguments.length == 0){ return fun.obj; } var methodName = arguments[0], methodArgs = [].slice.call(arguments,1); fun.obj[methodName].apply(fun.obj,methodArgs); return fun; } fun.obj = obj; return fun; } 易读版 复制代码 代码如下: function chain(obj){ return function(){ var Self = arguments.callee; Self.obj = obj; if(arguments.length==0){ return Self.obj; } var methodName = arguments[0], methodArgs = [].slice.call(arguments,1); Self.obj[methodName].apply(Self.obj,methodArgs); return Self; } } 精简版 复制代码 代码如下: function chain(obj){ return function(){ var Self = arguments.callee; Self.obj = obj; if(arguments.length==0){ return Self.obj; } Self.obj[arguments[0]].apply(Self.obj,[].slice.call(arguments,1)); return Self; } } 调用 复制代码 代码如下: chain(obj) (method1,arg1) (method2,arg2) (method3,arg3) ...
推荐阅读
jQuery LigerUI 插件介绍及使用之ligerDrag和ligerResizable示例代码打包
ligerDrag() 使目标对象可以拖动。 参数 handler 拖动的作用区域,在这个区域才可以触发拖动。可以是字符串(jQuery selector),也可以是一个Dom jQuery对象 onStartDrag 开始拖动事件 >>>详细阅读
本文标题:我的javascript 函数链之演变
地址:http://www.17bianji.com/kaifa2/JS/24735.html
1/2 1