JavaScript 對象鏈式操作測試代碼
更新時間:2010年04月25日 00:54:43 作者:
自從使用了jQuery以后,對它的鏈式操作很是依賴,以至于常常覺得其他庫不好用。。
雖然現(xiàn)在慢慢減少了對jQuery的使用(項目上還是用,效率高點。平時基本不用了),希望從而減少對jQuery的依賴度。
但是這鏈式操作的方式實在吸引人(貌似現(xiàn)在不少新庫都采用了鏈式操作)。
新手無畏嘛,所以寫了以下代碼。主要是避免以后又忘了,呵呵。
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對象返回的是數(shù)組/類數(shù)組。要實現(xiàn)這個卻不知道怎么辦好。。
總不能讓k.fn.prototype = new Array()吧。真要看jQuery源代碼還真是有點累。。
但是這鏈式操作的方式實在吸引人(貌似現(xiàn)在不少新庫都采用了鏈式操作)。
新手無畏嘛,所以寫了以下代碼。主要是避免以后又忘了,呵呵。
復制代碼 代碼如下:
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對象返回的是數(shù)組/類數(shù)組。要實現(xiàn)這個卻不知道怎么辦好。。
總不能讓k.fn.prototype = new Array()吧。真要看jQuery源代碼還真是有點累。。
相關(guān)文章
JavaScript isPrototypeOf和hasOwnProperty使用區(qū)別
JavaScript isPrototypeOf和hasOwnProperty的使用技巧,需要的朋友的朋友可以參考下。2010-03-03
JavaScript面向?qū)ο?極簡主義法minimalist approach)
荷蘭程序員 Gabor de Mooij 提出了一種比 Object.create ()更好的新方法,他稱這種方法為極簡主義法(minimalist approach)。這也是我推薦的方法2012-07-07
js創(chuàng)建對象的幾種常用方式小結(jié)(推薦)
最近在看javascript高級程序設(shè)計,其中對對象的創(chuàng)建做了具體的闡述,綜合起來,總結(jié)了下(je知識庫javascript專欄由這方面的教程,有興趣的可以去知識庫看看)
2010-10-10
javascript 混合的構(gòu)造函數(shù)和原型方式,動態(tài)原型方式
JS編程中最常用兩種對象類定義的方式。不管是利用下面2種方式的那一種,都可以達到相同的效果!
2009-12-12
javascript 設(shè)計模式之單體模式 面向?qū)ο髮W習基礎(chǔ)
單體是在腳本加載時創(chuàng)建的,能將一系列有關(guān)聯(lián)的變量和方法組織為一個邏輯單元,邏輯單元里面的內(nèi)容通過單一的變量進行訪問,也是筆記基礎(chǔ)與常用的面向?qū)ο蟮亩x方法。
2010-04-04 
