最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript對(duì)象鏈?zhǔn)讲僮鞔a(jquery)

 更新時(shí)間:2010年07月04日 19:43:48   作者:  
自從使用了jQuery以后,對(duì)它的鏈?zhǔn)讲僮骱苁且蕾?,以至于常常覺得其他庫不好用。。
雖然現(xiàn)在慢慢減少了對(duì)jQuery的使用(項(xiàng)目上還是用,效率高點(diǎn)。平時(shí)基本不用了),希望從而減少對(duì)jQuery的依賴度。
但是這鏈?zhǔn)讲僮鞯姆绞綄?shí)在吸引人(貌似現(xiàn)在不少新庫都采用了鏈?zhǔn)讲僮鳎?
新手無畏嘛,所以寫了以下代碼。主要是避免以后又忘了,呵呵。
復(fù)制代碼 代碼如下:

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());

這只是進(jìn)行了鏈?zhǔn)讲僮鳌5窃趂irbug下可以看到j(luò)Query對(duì)象返回的是數(shù)組/類數(shù)組。要實(shí)現(xiàn)這個(gè)卻不知道怎么辦好。。
總不能讓k.fn.prototype = new Array()吧。真要看jQuery源代碼還真是有點(diǎn)累。。
下面是針對(duì)網(wǎng)友的一些回復(fù)
其實(shí)鏈?zhǔn)讲僮骱芎唵危褪敲看畏祷夭僮鲗?duì)象本身,這樣就可以持續(xù)的調(diào)用該對(duì)象本身定義的所有方法了。
最簡單的例子:
復(fù)制代碼 代碼如下:

var o = function() {
/**
do something
*/
return this;
}
o.prototype = {
action1: function() {
/**
do something
*/
return this;
},
action2: function() {
/**
do something
*/
return this;
}
}

你可以這樣調(diào)用:
new o() //
.action1() //
.action2(); //每一步操作返回的都是實(shí)例化的o對(duì)象
它其實(shí)等同于這樣:
var a = new o();//如果沒有返回this,那么就不能在這里繼續(xù)調(diào)用了。因?yàn)榉祷氐氖莡ndefined。
a.action1(); //這個(gè)時(shí)候就只能對(duì)a(實(shí)例化的o對(duì)象的引用)來操作。
a.action2();
如果你用過jQuery就應(yīng)該發(fā)現(xiàn)了。jQuery并不需要你使用new來實(shí)例化一個(gè)對(duì)象,在使用的時(shí)候顯得更方便。
所以我們定義另一個(gè)對(duì)象來封裝上面提到的o對(duì)象:
var k = function() {
return new o();
}
這樣我們就可以這樣調(diào)用了:
k().action1().action2();
我為你推薦 一個(gè)叫 "函數(shù)化"的 構(gòu)造JS的方法。
復(fù)制代碼 代碼如下:

//加粗表示強(qiáng)調(diào)
//這個(gè)方法是 《javascript語言精粹》第52頁 5.4函數(shù)化 上的。
var constructor = function (spec,my){
var that,其他的私有實(shí)例變量;
my = my || {};
把共享的變量和函數(shù)添加到my中
that = 一個(gè)新對(duì)象
添加給that 的特權(quán)方法
return that;
}

相關(guān)文章

  • CLASS_CONFUSION JS混淆 全源碼

    CLASS_CONFUSION JS混淆 全源碼

    這里通過JS字符串替換、隨機(jī)數(shù)運(yùn)算實(shí)現(xiàn)混淆JS代碼,達(dá)到降低代碼可讀性,以保護(hù)代碼的目的,需要的朋友可以參考一下
    2007-12-12
  • 手把手教你自己寫一個(gè)js表單驗(yàn)證框架的方法

    手把手教你自己寫一個(gè)js表單驗(yàn)證框架的方法

    其實(shí)我自己也就能簡單用用js而已,但是呢,相對(duì)很多初學(xué)者來說多懂了點(diǎn)Know How所以斗膽孟浪一下,將一些所得記錄下來,以供更多的初學(xué)者能夠知道一個(gè)東西的實(shí)現(xiàn)過程,省去在源碼里摸索的過程。
    2010-09-09
  • JavaScript 工具庫 Cloudgamer JavaScript Library v0.1 發(fā)布

    JavaScript 工具庫 Cloudgamer JavaScript Library v0.1 發(fā)布

    研究了一年多的js,也差不多寫一個(gè)自己的js庫了。 我寫這個(gè)不算框架,只是一個(gè)小型的js工具庫,所以我用的名字是Library。
    2009-10-10
  • JavaScript 繼承使用分析

    JavaScript 繼承使用分析

    繼承,通俗地說,之前你寫過一些類,這些類中有一些是而你現(xiàn)在要寫的類的功能的子集或者基本相同,那么你不用完全重新寫一個(gè)新的類,你可以把之前寫的類拿過來使用.這樣的一種代碼重用過程就叫做繼承
    2011-05-05
  • Javascript 面向?qū)ο螅ǘ┓庋b代碼

    Javascript 面向?qū)ο螅ǘ┓庋b代碼

    Javascript 面向?qū)ο螅ǘ┓庋b代碼,需要的朋友可以參考下
    2012-05-05
  • js創(chuàng)建對(duì)象的幾種常用方式小結(jié)(推薦)

    js創(chuàng)建對(duì)象的幾種常用方式小結(jié)(推薦)

    最近在看javascript高級(jí)程序設(shè)計(jì),其中對(duì)對(duì)象的創(chuàng)建做了具體的闡述,綜合起來,總結(jié)了下(je知識(shí)庫javascript專欄由這方面的教程,有興趣的可以去知識(shí)庫看看)
    2010-10-10
  • javascript 面向?qū)ο笕吕砭氈^承與多態(tài)

    javascript 面向?qū)ο笕吕砭氈^承與多態(tài)

    前面我們討論了如何在 JavaScript 語言中實(shí)現(xiàn)對(duì)私有實(shí)例成員、公有實(shí)例成員、私有靜態(tài)成員、公有靜態(tài)成員和靜態(tài)類的封裝。這次我們來討論一下面向?qū)ο蟪绦蛟O(shè)計(jì)中的另外兩個(gè)要素:繼承與多態(tài)。
    2009-12-12
  • JavaScript對(duì)象模型-執(zhí)行模型

    JavaScript對(duì)象模型-執(zhí)行模型

    數(shù)據(jù)類型,基本數(shù)據(jù)類型基本數(shù)據(jù)類型是JS語言最底層的實(shí)現(xiàn)。
    2008-04-04
  • js 面向?qū)ο蟮募夹g(shù)創(chuàng)建高級(jí) Web 應(yīng)用程序

    js 面向?qū)ο蟮募夹g(shù)創(chuàng)建高級(jí) Web 應(yīng)用程序

    在 C++ 或 C# 中,在談?wù)搶?duì)象時(shí),是指類或結(jié)構(gòu)的實(shí)例。對(duì)象有不同的屬性和方法,具體取決于將它們實(shí)例化的模板(即類)。
    2010-02-02
  • JavaScript中的面向?qū)ο蠼榻B

    JavaScript中的面向?qū)ο蠼榻B

    在JavaScript,可以說everything is object,那么什么是對(duì)象?對(duì)象就是包含一組變量和函數(shù)的集合。在其它面向?qū)ο笳Z言中對(duì)象是由類的實(shí)例化而來,JavaScript是基于原型的面向?qū)ο笳Z言,沒有類的概念,對(duì)象派生自現(xiàn)有對(duì)象的副本
    2012-06-06

最新評(píng)論

新郑市| 梁河县| 叶城县| 巴楚县| 阜宁县| SHOW| 秭归县| 广宗县| 阳山县| 裕民县| 长汀县| 洞头县| 轮台县| 双城市| 平泉县| 乌拉特中旗| 沙雅县| 澜沧| 惠来县| 杂多县| 迁安市| 邯郸市| 轮台县| 理塘县| 保靖县| 当雄县| 新泰市| 巫山县| 佳木斯市| 靖宇县| 绥宁县| 靖州| 嘉禾县| 高雄市| 南丰县| 河东区| 偏关县| 社旗县| 高要市| 仪陇县| 深水埗区|