国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

jQuery1.5新特征之插件機制的救贖

開發 前端
感覺jQuery1.5最大的改變有兩個,jQuery子類與異步列隊,本文只談jQuery子類。首先要明白為何要推出此功能,是強化它那基本為零的OO功能嗎?不是,從下面的源碼你應該知道它不是讓你自定義類。但這也是個愚蠢的問題,因為這樣,這方法就叫Class,而不是subclass。

感覺jQuery1.5***的改變有兩個,jQuery子類與異步列隊,本文只談jQuery子類。

首先要明白為何要推出此功能,是強化它那基本為零的OO功能嗎?不是,從下面的源碼你應該知道它不是讓你自定義類。但這也是個愚蠢的問題,因為這樣,這方法就叫Class,而不是subclass。

  1. subclass: function(){    
  2.     function jQuerySubclass( selector, context ) {    
  3.         return new jQuerySubclass.fn.init( selector, context );    
  4.     }    
  5.     jQuerySubclass.superclass = this;    
  6.     jQuerySubclass.fn = jQuerySubclass.prototype = this();    
  7.     jQuerySubclass.fn.constructor = jQuerySubclass;    
  8.     jQuerySubclass.subclass = this.subclass;    
  9.     jQuerySubclass.fn.init = function init( selector, context ) {    
  10.         if (context && context instanceof jQuery && !(context instanceof jQuerySubclass)){    
  11.             context = jQuerySubclass(context);    
  12.         }    
  13.         return jQuery.fn.init.call( this, selector, context, rootjQuerySubclass );    
  14.     };    
  15.     jQuerySubclass.fn.init.prototype = jQuerySubclass.fn;    
  16.     var rootjQuerySubclass = jQuerySubclass(document);    
  17.     return jQuerySubclass;    
  18. },  

我想它真正的用意是為了改善其插件機制。

jQuery的插件是很容易開發,隨便在其原型鏈上添加個方法就叫稱“插件”,因此jQuery的插件很多,垃圾插件也很多,由于停止更新變成垃圾的也很多。

  1. jQuery.fn.garbage = function(){    
  2.     alert("這是垃圾插件!")    
  3. }   

當然這是在最理想的情況下,插件才這么簡單(好像一個函數算一個插件也蠻多的)。比如你開發一個插件,然后你同事也開發了一個同名的插件,這時出問題吧。還有這種情況:

  1. (function($){//插件一    
  2.      $.fn.extend({    
  3.              a:function(){//插件的主體    
  4.                 this.b()    
  5.            },    
  6.             b:function(){}//輔助函數    
  7.        })    
  8.  })(jQuery);    
  9.   (function(){//插件二    
  10.      $.fn.extend({    
  11.             c:function(){//插件的主體    
  12.                 this.b()    
  13.            },    
  14.             b:function(){}//輔助函數       
  15.       })    
  16. })(jQuery);  

這時這兩個插件混用就有問題了,插件一的b與插件二的b可能不是一個東西,這機率還很大,因為插件一可能是美國的菜鳥開發,插件二是德國的菜鳥開發的,而且外國人都非常喜歡把他們的插件放到jQuery官網的插件展示區,國內的懶鬼兼菜鳥就很容易踩雷了。

插件混亂之災隨著jQuery的流行日益嚴重,由于jQuery易學易用,公司前端不夠人手,隨便抓個后臺就行了。于是前端也像中國樓市那樣出現泡沫了,一個頁面引用N個插件,滿屏的選擇器,維護成本超高,近乎不可能。

歸根結底,問題是大家都在污染jQuery與jQuery.fn這個兩個對象,就像以前大家都愛到全局作用域那里拉屎那樣。全局作用域是公廁,去那兒是不可避免的,但我們可以用子類來轉移jQuery,jQuery.fn的負擔。

在jQuery1.5中,我們就應該這樣寫插件。

  1. var MyjQuery = jQuery.subclass();    
  2. MyjQuery.fn.writeHello = function(){ this.text('Hello World'); };    
  3. MyjQuery('p').writeHello();  

由于MyjQuery是jQuery的子類,因此擁有其所有能力,鏈式操作一樣沒問題。

  1. MyjQuery('div').css('border''1px red solid').writeHello();  

我們還可以對jQuery原有方法進行修改,不用因為某些隱性bug而改源碼了:

  1. MyjQuery.fn.text = function(val) {    
  2.   var orig = jQuery.fn.text;    
  3.   if(typeof val === "string") {    
  4.     return orig.call(this"!!"+ val +"!!");    
  5.   } else {    
  6.     return orig.apply(this, arguments);    
  7.   }    
  8. };    
  9. MyjQuery('.aaa').text("text");    
  10. MyjQuery('.aaa').text();   
  11.    //!!text!!    
  12. //不影響jQuery自身    
  13. jQuery('.aaa).text('text'); //text  

當然這也帶來一個問題,插件都變為綁定到新的命名空間上了,重新跑到全局作用域上……看來進一步的救贖要等其包加載機制出來了。因此少用插件,提高自身的javascript(非jQuery)能力才是基本。

原文鏈接:http://www.cnblogs.com/rubylouvre/archive/2011/01/21/1940935.html

【編輯推薦】

  1. 精益求精 jQuery代碼的分析與優化
  2. jQuery1.5的六大細節改進:DOM操作更簡單
  3. jQuery入門:數組的三種類型三種操作
  4. jQuery 1.5***個Beta版發布 付下載
  5. 10個超贊超實用的免費jQuery圖片插件 附下載
  6. jQuery 1.5正式版發布 五大變化引人注目

責任編輯:陳貽新 來源: 司徒正美的博客
相關推薦

2011-06-09 17:26:17

Qt 插件 API

2021-06-22 06:52:46

Vite 插件機制Rollup

2011-01-19 08:59:30

jQueryWebAjax

2009-12-11 10:29:03

PHP插件機制

2010-09-08 14:39:35

2023-11-07 10:19:08

2024-07-17 09:23:58

Vite插件機制

2009-07-07 13:02:29

JDK1.5

2023-06-15 08:01:01

Vite插件機制

2020-05-22 09:10:10

前端框架插件

2011-04-01 11:13:57

jQuery

2019-12-19 08:56:21

MybatisSQL執行器

2021-03-04 08:19:29

插件機制代碼

2021-12-19 07:21:48

Webpack 前端插件機制

2011-03-11 09:20:35

jQueryjavascript

2021-12-03 15:59:30

Nuxt3插件機制

2012-04-27 10:00:43

jQuery插件

2012-09-24 01:49:48

jQueryjQuery插件Web

2011-03-01 16:08:46

2011-06-20 13:05:53

Qt 4.7 Qt Quick
點贊
收藏

51CTO技術棧公眾號

成人av资源站| 国产精品老女人视频| 激情文学综合丁香| 亚洲电影在线| 一区二区三区毛片免费| 成人黄色理论片| 蜜臀av在线播放| 成人四虎影院| 日韩欧美一起| 神马影院午夜我不卡| 国产日韩二区| 国产精品视频网站| 精品人妻人人做人人爽| 成视人a免费观看视频| 国产精品99久久免费观看| 国产欧美日韩综合| 亚洲人成欧美中文字幕| 777午夜精品福利在线观看| 深田咏美在线x99av| 男人j进女人j| 玛丽玛丽电影原版免费观看1977 | 日韩精品欧美| 亚洲免费精品| 久久99久久久久| 亚洲电影一区二区三区| 激情五月婷婷综合| 亚洲综合免费观看高清在线观看| 欧美三级视频在线播放| 国产精品久久一区主播| jizz亚洲| 蜜臀久久99精品久久久久久9 | 欧美不卡一区二区三区四区| 日韩成人av网| 色av中文字幕一区| 国产成人精品自拍| 9a蜜桃久久久久久免费| 久久草视频在线看| 国产日本在线观看| 国产色播av在线| 日本欧美一区| 激情婷婷欧美| 欧美日韩国产亚洲一区| 欧美激情一区二区三区| 风间由美性色一区二区三区| 日韩欧美午夜| 欧美aaaaa级| 国产拍在线视频| 国产精品666| 成人国产在线视频| 精品久久久久香蕉网| 成人欧美一区二区三区小说| 亚洲婷婷丁香| 热99这里只有精品| 日韩欧美在线观看一区二区三区| 国产综合成人久久大片91| 欧美体内she精视频在线观看| 伊人久久大香线| 国产精品久久久久影院| 成人欧美一区二区三区黑人| 久久视频www| 亚洲大黄网站| 日韩av在线免费观看| 91嫩草免费看| 欧美三级理论片| 在线毛片网站| 黄色欧美网站| 91丨porny丨户外露出| 亚洲成人综合视频| 亚洲老头同性xxxxx| 久久精彩视频| 美女一区网站| 精品一区二区三区在线播放视频 | 久久天堂av综合合色蜜桃网| 制服丝袜亚洲色图| 91久久精品一区二区别| 色视频在线观看| 蜜桃视频一区二区| 亚洲18私人小影院| 欧美视频免费一区二区三区| 蜜桃视频www网站在线观看| 精品一级毛片| 亚洲一区黄色| 极品少妇一区二区| 欧美丰满一区二区免费视频| 蜜桃网站成人| 18videosex性欧美麻豆| 97精品国产一区二区三区| 激情综合色综合久久| 亚洲视频一区在线观看| 日韩一区二区视频| 欧美一级大胆视频| 伊人网在线免费| 69堂免费视频| 91九色丨porny丨国产jk| 成人免费毛片网| 成人免费视频久久| 日本乱理伦在线| 国产99久久久久久免费看农村| 欧美一级在线免费| 亚洲综合在线播放| 情趣网站视频在线观看| 精品国产一区二区三区av片| 精品久久久一区二区| 国产精品免费小视频| 免费观看国产精品视频| 成人在线免费电影网站| 亚洲国产wwwccc36天堂| 91在线视频一区| 色呦呦网站在线观看| 久久久一区二区三区| 欧美午夜无遮挡| 日韩video| 红杏视频成人| 国产美女主播视频一区| 国产精品麻豆一区二区| 精品二区三区线观看| 国产精品2018| 男女爱爱免费网站| 日韩在线麻豆| 99久久精品情趣| 久久久噜噜噜久久中文字免| 国产天堂av| 欧美亚洲国产精品久久| 欧美日韩中文字幕| 国产精品一区二区在线观看| 伊人中文在线| 成人一区不卡| 欧美日韩国产区| 久久精品国产99精品国产亚洲性色| 久久综合网导航| 国产伦精品一区二区三区视频青涩 | 亚洲清纯自拍| 一区二区日韩精品| 成人黄色激情网站| 久久精品盗摄| 午夜精品福利久久久| 成人乱色短篇合集| 97在线超碰| 黄网动漫久久久| 国产一二三四五| 亚洲国产一区二区在线观看| 亚洲品质视频自拍网| 中文日本高清免费| 91在线视频在线| 日韩亚洲视频在线| 九一成人免费视频| 日韩有码片在线观看| 污视频在线观看网站| 中文在线一区二区| 亚洲午夜精品福利| 色综合五月天| 7m第一福利500精品视频| 在线男人天堂| 日韩一区二区三区视频| 日本一区高清| 一区二区三区中文在线| a级片一区二区| 日韩不卡免费视频| 91久久久久久| 日韩一区二区三区精品视频第3页 日韩一区二区三区精品 | 日本乱码高清不卡字幕| 一本岛在线视频| 国产成人精品影院| 久久精品日韩| 国产麻豆一区二区三区精品视频| 亚洲人精品午夜在线观看| 在线播放麻豆| 欧美日韩中文在线| 日本一区二区三区在线观看视频| 国产精品传媒入口麻豆| heyzo亚洲| 国产成人在线色| 亚洲一卡二卡三卡| 蜜桃91丨九色丨蝌蚪91桃色| 91九色蝌蚪嫩草| 久久久成人av毛片免费观看| 亚洲精品综合在线| 亚洲中文字幕无码专区| 国产精品三上| 日本精品一区二区三区不卡无字幕| 九色精品91| 亚洲国产天堂久久综合网| 天堂中文在线资| 亚洲一二三区不卡| 激情小说激情视频| 国产精品久久久久影院亚瑟| 精品网站在线看| 琪琪一区二区三区| 久久久久久草| 图片区亚洲欧美小说区| 蜜桃传媒视频麻豆第一区免费观看| 国产亚洲福利| 青青草原网站在线观看| 老司机免费视频一区二区三区| 久久综合九色99| 精品中文字幕一区二区| 狠狠干视频网站| eeuss鲁片一区二区三区在线观看| 日本不卡一区二区三区在线观看| 日韩**一区毛片|