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的.animate()函数在IE6下的问题
Dec 03 Javascript
JavaScript中的作用域链和闭包
Jun 30 Javascript
js获取及修改网页背景色和字体色的方法
Dec 29 Javascript
require.js配合插件text.js实现最简单的单页应用程序
Jul 12 Javascript
KnockoutJS 3.X API 第四章之数据控制流if绑定和ifnot绑定
Oct 10 Javascript
js 获取本地文件及目录的方法(推荐)
Nov 10 Javascript
微信小程序 地图(map)实例详解
Nov 16 Javascript
JavaScript实现精美个性导航栏筋斗云效果
Oct 29 Javascript
使用DataTable插件实现异步加载数据
Nov 19 Javascript
webpack4+Vue搭建自己的Vue-cli项目过程分享
Aug 29 Javascript
JavaScript使用indexOf()实现数组去重的方法分析
Sep 04 Javascript
浅谈Vue的computed计算属性
Mar 21 Vue.js
网页上的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
为php4加入动态flash文件的生成的支持
2006/10/09 PHP
php中文本操作的类
2007/03/17 PHP
Codeigniter+PHPExcel实现导出数据到Excel文件
2014/06/12 PHP
PHP简单实现冒泡排序的方法
2016/12/26 PHP
thinkPHP+phpexcel实现excel报表输出功能示例
2017/06/06 PHP
关于html+ashx开发中几个问题的解决方法
2011/07/18 Javascript
屏蔽网页右键复制和ctrl+c复制的js代码
2013/01/04 Javascript
jquery实现多级下拉菜单的实例代码
2013/10/02 Javascript
简单分析javascript面向对象与原型
2015/05/21 Javascript
jquery实现简单手风琴菜单效果实例
2015/06/13 Javascript
深入学习JavaScript对象
2015/10/13 Javascript
轻松学习jQuery插件EasyUI EasyUI创建RSS Feed阅读器
2015/11/30 Javascript
ES6所改良的javascript“缺陷”问题
2016/08/23 Javascript
jquery 判断是否支持Placeholder属性的方法
2017/02/07 Javascript
关于JavaScript中forEach和each用法浅析
2017/07/27 Javascript
vue2.0移动端滑动事件vue-touch的实例代码
2018/11/27 Javascript
详解Python的Flask框架中生成SECRET_KEY密钥的方法
2016/06/07 Python
Python新手们容易犯的几个错误总结
2017/04/01 Python
vscode 远程调试python的方法
2017/12/01 Python
Python文本特征抽取与向量化算法学习
2017/12/22 Python
Selenium控制浏览器常见操作示例
2018/08/13 Python
Python中的函数式编程:不可变的数据结构
2018/10/08 Python
python 文本单词提取和词频统计的实例
2018/12/22 Python
几行Python代码爬取3000+上市公司的信息
2019/01/24 Python
Python实现某论坛自动签到功能
2019/08/20 Python
pycharm第三方库安装失败的问题及解决经验分享
2020/05/09 Python
python下载的库包存放路径
2020/07/27 Python
瑞士香水购物网站:Parfumcity.ch
2017/01/14 全球购物
餐饮加盟计划书
2014/01/10 职场文书
入党自我评价优缺点
2014/01/25 职场文书
高一新生军训感言
2014/03/02 职场文书
教师读书笔记
2015/06/29 职场文书
导游词之新疆-喀纳斯
2019/10/10 职场文书
oracle通过存储过程上传list保存功能
2021/05/12 Oracle
一文带你理解vue创建一个后台管理系统流程(Vue+Element)
2021/05/18 Vue.js
win10频率超出范围怎么办?win10老显示超出工作频率范围的解决方法
2022/07/07 数码科技