自从使用了jQuery以后,对它的链式操作很是依赖,以至于常常觉得其他库不好用。。
虽然现在慢慢减少了对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中面向对象一中推荐的方法。
2010-05-05"继承是面向对象开发的又一个重要概念,它可以将现实生活的概念对应带程序逻辑中"。“ 虽然在JavaScript中没有专门的机制来实现类的继承,但可以通过拷贝一个类的prototype 到另外一个类来实现继承”。
2009-08-08为对象原型prototype添加属性的的方法, 需要的朋友可以参考下。
2010-08-08JavaScript面向对象代码的写法与其它常见语言(Java C# C++)几乎完全不同。
2010-02-02这里的面向对象主要是使用prototype属性,大家可以参考下。
2009-12-12自从有了Ajax这个概念,JavaScript作为Ajax的利器,其作用一路飙升。JavaScript最基本的使用,以及语法、浏览器对象等等东东在这里就不累赘了。把主要篇幅放在如何实现JavaScript的面向对象编程方面。
2010-05-05涵盖了javascript公有成员定义、私有成员定义、特权方法定义的简单示例
2009-09-09在"初识Javascript"章节中,提到通过作用域和闭包来隐藏内部细节,并给外部提供访问接口,就初次接触到了信息隐藏的概念了
2012-01-01使用JavaScript面向对象完全出于偶然,因为大部分时间我都是在无图形界面的环境下工作,有时候就算是介入了web客户端的工作的时候,在写js和ajax时,最多的也只是写写function,从没有考虑过要使用JavaScript面向对象这么高级的技巧。
2010-02-02AppBaseJs类库。一个借鉴了网上常用的函数及其他js类库写的,方便大家的调用。
2010-03-03