天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

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

雖然現(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)讲僮骱芎?jiǎn)單,就是每次返回操作對(duì)象本身,這樣就可以持續(xù)的調(diào)用該對(duì)象本身定義的所有方法了。
最簡(jiǎn)單的例子:
復(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;
}

JavaScript技術(shù)JavaScript對(duì)象鏈?zhǔn)讲僮鞔a(jquery),轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 嫩草亚洲国产精品 | 国产婷婷色综合AV蜜臀AV | 亚洲欧美日韩国产精品26u | 国产专区青青在线视频 | 久久亚洲人成网站 | 好硬好湿好大再深一点动态图 | 青柠在线电影高清免费观看 | 女王黄金vk| 无码人妻精品国产婷婷 | 色久久久综合88一本道 | 暖暖日本免费播放 | 亚洲欧美一区二区成人片 | 高清无码色大片中文 | 78m成人亚洲 | 日日夜夜狠狠干 | 20岁αsrian男同志免费 | 亚洲精品欧美精品中文字幕 | 亚洲香蕉视频在线播放 | 手机在线成人精品视频网 | 永久免费在线看mv | 中文字幕亚洲第一页 | 精品高潮呻吟99AV无码视频 | 免费国产网站 | 免费视频国产在线观看网站 | 日本19xxxx撤尿 | 国产成人免费观看在线视频 | 久久久国产精品免费A片蜜芽广 | 高清国语自产拍在线 | 爽死你个放荡粗暴小淫货漫画 | 亚洲国产精品线在线观看 | 色欲蜜臀AV免费视频 | xhameter中国 | gogogo高清在线观看 | 一个人的视频在线观看免费观看 | 日本亚洲精品无码区国产电影 | 无码国产伦一区二区三区视频 | 中文字幕在线久热精品 | 国产精品亚洲精品久久国语 | 两个人的视频日本在线观看完整 | 999精品国产人妻无码系列 | 国产69精品久久久久乱码韩国 |