我的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 相关文章推荐
Iframe thickbox2.0使用的方法
Mar 05 Javascript
基于jquery1.4.2的仿flash超炫焦点图播放效果
Apr 20 Javascript
JavaScript访问样式表代码
Oct 15 Javascript
开源的javascript项目Kissy介绍
Nov 28 Javascript
jQuery中toggleClass()方法用法实例
Jan 05 Javascript
浅谈JavaScript数据类型及转换
Feb 28 Javascript
AngularJS定时器的使用与移除操作方法【interval与timeout】
Dec 14 Javascript
使用ionic(选项卡栏tab) icon(图标) ionic上拉菜单(ActionSheet) 实现通讯录界面切换实例代码
Oct 20 Javascript
vue+element-ui动态生成多级表头的方法
Aug 28 Javascript
详解webpack+ES6+Sass搭建多页面应用
Nov 05 Javascript
JavaScript的级联函数用法简单示例【链式调用】
Mar 26 Javascript
微信小程序实现搜索功能并跳转搜索结果页面
May 18 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
PHP中使用FFMPEG获取视频缩略图和视频总时长实例
2014/05/04 PHP
PHP使用内置dir类实现目录遍历删除
2015/03/31 PHP
PHPExcel导出2003和2007的excel文档功能示例
2017/01/04 PHP
javascript 面向对象思想 附源码
2009/07/07 Javascript
jQuery UI-Draggable 参数集合
2010/01/10 Javascript
js抽奖实现随机抽奖代码效果
2013/12/02 Javascript
Jquery通过JSON字符串创建JSON对象
2014/08/24 Javascript
jquery如何获取元素的滚动条高度等实现代码
2015/10/19 Javascript
js创建对象的方法汇总
2016/01/07 Javascript
Javascript小技能总结(推荐)
2016/06/02 Javascript
jQuery事件用法详解
2016/10/06 Javascript
JS和JQuery实现雪花飘落效果
2017/11/30 jQuery
Nodejs实现爬虫抓取数据实例解析
2018/07/05 NodeJs
bootstrap下拉分页样式 带跳转页码
2018/12/29 Javascript
vue监听用户输入和点击功能
2019/09/27 Javascript
JavaScript中reduce()的5个基本用法示例
2020/07/19 Javascript
python中二维阵列的变换实例
2014/10/09 Python
Python实现CET查分的方法
2015/03/10 Python
Python中map和列表推导效率比较实例分析
2015/06/17 Python
深入浅析python中的多进程、多线程、协程
2016/06/22 Python
python实现守护进程、守护线程、守护非守护并行
2018/05/05 Python
Python生成短uuid的方法实例详解
2018/05/29 Python
python 判断文件还是文件夹的简单实例
2019/06/10 Python
基于Python的微信机器人开发 微信登录和获取好友列表实现解析
2019/08/21 Python
基于Python 的语音重采样函数解析
2020/07/06 Python
AmazeUI 评论列表的实现示例
2020/08/13 HTML / CSS
LN-CC日本:高端男装和女装的奢侈时尚目的地
2019/09/01 全球购物
加拿大鞋网:Globo Shoes
2019/12/26 全球购物
英国最大的在线照明商店:Litecraft
2020/08/31 全球购物
入党转预备思想汇报
2014/01/07 职场文书
文案策划求职信
2014/04/14 职场文书
新学期国旗下演讲稿
2014/05/08 职场文书
2015年小学图书室工作总结
2015/05/18 职场文书
一条 SQL 语句执行过程
2022/03/17 MySQL
铁拳制作人赞《铁拳7》老头环Mod:制作精良 但别弄了
2022/04/03 其他游戏
用PYTHON去计算88键钢琴的琴键频率和音高
2022/04/10 Python