亚洲一级电影在线观看,九九精品无码专区免费,亚洲AV无码资源在线观看 ,欧美国产高清

讓你我減少對(duì)jQuery的依賴度

時(shí)間:2024-07-21 02:26:35 jQuery Mobile 我要投稿
  • 相關(guān)推薦

讓你我減少對(duì)jQuery的依賴度

  雖然現(xiàn)在慢慢減少了對(duì)jQuery的使用(項(xiàng)目上還是用,效率高點(diǎn)。平時(shí)基本不用了),希望從而減少對(duì)jQuery的依賴度。

  但是這鏈?zhǔn)讲僮鞯姆绞綄?shí)在吸引人(貌似現(xiàn)在不少新庫都采用了鏈?zhǔn)讲僮鳎?/p>

  新手無畏嘛,所以寫了以下代碼。主要是避免以后又忘了,呵呵。

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

  }

【讓你我減少對(duì)jQuery的依賴度】相關(guān)文章:

jquery提交按鈕的代碼03-30

jQuery程序設(shè)計(jì)03-30

如何理解jquery事件冒泡03-29

jQuery的DOM操作筆記03-29

淺析jQuery 遍歷函數(shù)javascript03-29

jQuery中prev()方法用法03-30

jQuery中replaceAll()方法用法03-30

基于jQuery的固定表格頭部的代碼03-30

jQuery 源碼分析和Ready函數(shù)03-29

主站蜘蛛池模板: 国产成人一区二区| 久久国产免费直播| 69精品人人人人| 亚洲综合中文字幕国产精品欧美| 日韩欧美国产三级| 麻豆国产在线精品国偷产拍| 亚洲精品亚洲人成在线观看| 富蕴县| 欧美巨大xxxx做受中文字幕| 久久这里只有热精品18| 国产午夜激无码av毛片不卡| 成人一级黄色毛片| 强睡邻居人妻中文字幕| 无码人妻斩一区二区三区| 亚洲国产精品成人久久综合影院 | 久久久久日本精品人妻aⅴ毛片| 欧美 国产 人人视频| 亚洲国产av高清无码| 狠狠亚洲婷婷综合色香五月排名| 精品一区二区久久久久网站| 中文字幕丰满乱子无码视频| 漂亮人妻去按摩被按中出| 国产99蜜臀视频精品免费视频| 中文人妻av久久人妻水蜜桃 | 中文字幕亚洲无线码a| 波多野结衣亚洲一区| 欧美熟妇丰满肥白大屁股免费视频| 国自产拍偷拍精品啪啪一区二区| 无码欧美毛片一区二区三| 亚洲成av 人片在线观看无码| 成人va亚洲va欧美天堂| 亚洲欧洲精品国产区| 亚洲熟妇av日韩熟妇在线| 芦山县| 国产无遮挡又黄又爽免费网站| 欧美精品黑人粗大| 国产成人精品麻豆| 日本精品αv中文字幕| 国内精品国内自产视频| 双城市| 国产精品内射视频免费|