JavaScript 对象链式操作测试代码


Posted in Javascript onApril 25, 2010

虽然现在慢慢减少了对jQuery的使用(项目上还是用,效率高点。平时基本不用了),希望从而减少对jQuery的依赖度。
但是这链式操作的方式实在吸引人(貌似现在不少新库都采用了链式操作)。
新手无畏嘛,所以写了以下代码。主要是避免以后又忘了,呵呵。

window.k = function() { 
return new k.fn.init(arguments); 
} 
k.fn = k.prototype = { 
init:function() { 
this.length = 0; 
//var args = Array.prototype.slice.call(arguments,0); 
Array.prototype.push.apply(this,arguments[0]); 
return this; 
}, 
show:function() { 
console.log(Array.prototype.slice.call(this,0).join("$")); 
return this; 
}, 
hide:function() { 
console.log(this); 
return this; 
} 
} 
k.fn.init.prototype = k.fn; 
console.log(k("0",1,2,3,4,5).show().hide());

这只是进行了链式操作。但是在firbug下可以看到jQuery对象返回的是数组/类数组。要实现这个却不知道怎么办好。。

总不能让k.fn.prototype = new Array()吧。真要看jQuery源代码还真是有点累。。

Javascript 相关文章推荐
jQuery EasyUI API 中文文档 - Parser 解析器
Sep 29 Javascript
关闭页面window.location事件未执行的原因及解决方法
Sep 01 Javascript
了不起的node.js读书笔记之mongodb数据库交互
Dec 22 Javascript
jQuery使用addClass()方法给元素添加多个class样式
Mar 26 Javascript
JS中产生标识符方式的演变
Jun 12 Javascript
JS+CSS实现类似QQ好友及黑名单效果的树型菜单
Sep 22 Javascript
jQuery随手笔记之常用的jQuery操作DOM事件
Nov 29 Javascript
ES6新特性之字符串的扩展实例分析
Apr 01 Javascript
vue bootstrap小例子一枚
Jun 09 Javascript
jQuery实现checkbox即点即改批量删除及中间遇到的坑
Nov 11 jQuery
js动态设置select下拉菜单的默认选中项实例
Aug 21 Javascript
解决layui动态添加的元素click等事件触发不了的问题
Sep 20 Javascript
网页上的Javascript编辑器和代码格式化
Apr 25 #Javascript
jQuery温习篇 强大的JQuery选择器
Apr 24 #Javascript
javascript 二分法(数组array)
Apr 24 #Javascript
JS判断是否为数字,是否为整数,是否为浮点数的代码
Apr 24 #Javascript
JavaScript 比较时间大小的代码
Apr 24 #Javascript
google 搜索框添加关键字实现代码
Apr 24 #Javascript
javascript XMLHttpRequest对象全面剖析
Apr 24 #Javascript
You might like
PHP 上传文件大小限制
2009/07/05 PHP
Yii框架分页技术实例分析
2019/08/30 PHP
Yii框架的redis命令使用方法简单示例
2019/10/15 PHP
动态加载iframe
2006/06/16 Javascript
Prototype源码浅析 String部分(二)
2012/01/16 Javascript
jquery序列化form表单使用ajax提交后处理返回的json数据
2014/03/03 Javascript
上传图片js判断图片尺寸和格式兼容IE
2014/09/01 Javascript
JS基于MSClass和setInterval实现ajax定时采集信息并滚动显示的方法
2016/04/18 Javascript
jquery遍历json对象集合详解
2016/05/18 Javascript
javascript 正则表达式去空行方法
2017/01/24 Javascript
关于angular js_$watch监控属性和对象详解
2017/04/24 Javascript
Node.js开发第三方微信公众平台
2017/06/05 Javascript
详解webpack的配置文件entry与output
2017/08/21 Javascript
CentOS7中源码编译安装NodeJS的完整步骤
2018/10/13 NodeJs
vue实现购物车案例
2020/05/30 Javascript
javascript中闭包closure的深入讲解
2021/03/03 Javascript
[01:09:24]Ti4开幕式
2014/07/19 DOTA
python实现的解析crontab配置文件代码
2014/06/30 Python
python获得linux下所有挂载点(mount points)的方法
2015/04/29 Python
Python 爬虫的工具列表大全
2016/01/31 Python
python实现微信接口(itchat)详细介绍
2017/10/23 Python
rabbitmq(中间消息代理)在python中的使用详解
2017/12/14 Python
对python中GUI,Label和Button的实例详解
2019/06/27 Python
新手入门Python编程的8个实用建议
2019/07/12 Python
HTML5+CSS3网页加载进度条的实现,下载进度条的代码实例
2016/12/30 HTML / CSS
html5 跨文档消息传输示例探讨
2013/04/01 HTML / CSS
Perfume’s Club中文官网:西班牙美妆在线零售品牌
2020/08/24 全球购物
公务员更新知识培训实施方案
2014/03/31 职场文书
母亲节演讲稿
2014/05/27 职场文书
会计学自荐信
2014/06/03 职场文书
自愿解除劳动合同协议书
2014/09/11 职场文书
勿忘国耻9.18演讲稿(经典篇)
2014/09/14 职场文书
表扬通报怎么写
2015/01/16 职场文书
教你利用Nginx 服务搭建子域环境提升二维地图加载性能的步骤
2021/09/25 Servers
Python实现位图分割的效果
2021/11/20 Python
Python Pandas 删除列操作
2022/03/16 Python