我的javascript 函数链之演变


Posted in Javascript onApril 07, 2011

最易读版

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) 
...
Javascript 相关文章推荐
dess中一个简单的多路委托的实现
Jul 20 Javascript
在JavaScript中监听IME键盘输入事件
May 29 Javascript
js和css写一个可以自动隐藏的悬浮框
Mar 05 Javascript
JQuery中的html()、text()、val()区别示例介绍
Sep 01 Javascript
基于bootstrap实现广告轮播带图片和文字效果
Jul 22 Javascript
jQuery基本筛选选择器实例代码
Feb 06 Javascript
vue组件表单数据回显验证及提交的实例代码
Aug 30 Javascript
详解webpack之图片引入-增强的file-loader:url-loader
Oct 08 Javascript
vue无限轮播插件代码实例
May 10 Javascript
vue用BMap百度地图实现即时搜索功能
Sep 26 Javascript
使用p5.js临摹动态图片
Nov 04 Javascript
electron+vue实现div contenteditable截图功能
Jan 07 Javascript
JavaScript中链式调用之研习
Apr 07 #Javascript
js中各浏览器中鼠标按键值的差异
Apr 07 #Javascript
javascript 单例/单体模式(Singleton)
Apr 07 #Javascript
Safari5中alert的无限循环BUG
Apr 07 #Javascript
JQuery中html()方法使用不当带来的陷阱
Apr 07 #Javascript
仅IE6/7/8中innerHTML返回值忽略英文空格的问题
Apr 07 #Javascript
jQuery为iframe的body添加click事件的实现代码
Apr 07 #Javascript
You might like
ASP知识讲座四
2006/10/09 PHP
php array_map array_multisort 高效处理多维数组排序
2009/06/11 PHP
PHP中ob_start函数的使用说明
2013/11/11 PHP
php session的应用详细介绍
2017/03/22 PHP
PHP mysqli事务操作常用方法分析
2017/07/22 PHP
PHP实现git部署的方法教程
2017/12/19 PHP
php微信公众号开发之关键词回复
2018/10/20 PHP
HTML5如何适配 iPhone IOS 底部黑条
2021/03/09 HTML / CSS
又一个小巧的图片预加载类
2007/05/05 Javascript
js,jQuery 排序的实现代码,网页标签排序的实现,标签排序
2011/04/27 Javascript
JS对HTML标签select的获取、添加、删除操作
2013/10/17 Javascript
jquery.validate.js插件使用经验记录
2014/07/02 Javascript
跟我学习javascript的最新标准ES6
2015/11/20 Javascript
jQuery  ready方法实现原理详解
2016/10/19 Javascript
微信小程序 地图map实例详解
2017/06/07 Javascript
详解如何使用Node.js编写命令工具——以vue-cli为例
2017/06/29 Javascript
关于vue.extend和vue.component的区别浅析
2017/08/16 Javascript
浅谈webpack 构建性能优化策略小结
2018/06/13 Javascript
react-router 路由切换动画的实现示例
2018/12/03 Javascript
Angular6 发送手机验证码按钮倒计时效果实现方法
2019/01/08 Javascript
JSON的parse()方法介绍
2019/01/31 Javascript
layui框架与SSM前后台交互的方法
2019/09/12 Javascript
jquery传参及获取方式(两种方式)
2020/02/13 jQuery
[01:06:19]DOTA2-DPC中国联赛定级赛 LBZS vs SAG BO3第二场 1月8日
2021/03/11 DOTA
Python中模拟enum枚举类型的5种方法分享
2014/11/22 Python
python中import reload __import__的区别详解
2017/10/16 Python
Python实现的计算器功能示例
2018/04/26 Python
Python递归函数 二分查找算法实现解析
2019/08/12 Python
详解Python3中的 input() 函数
2020/03/18 Python
日本高岛屋百货购物网站:TAKASHIMAYA
2019/03/24 全球购物
Groupon荷兰官方网站:高达70%的折扣
2019/11/01 全球购物
一封普通求职者的求职信
2013/11/20 职场文书
党校个人自我鉴定范文
2014/03/28 职场文书
搞笑的爱情检讨书
2014/10/01 职场文书
大学生自我推荐信范文
2015/03/24 职场文书
社区党员干部承诺书
2015/05/04 职场文书