国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

深入理解jquery的$.extend()、$.fn和$.fn.extend()

2024-05-06 15:14:41
字體:
來源:轉載
供稿:網(wǎng)友

jQuery為開發(fā)插件提拱了兩個方法,分別是:

jQuery.fn.extend();jQuery.extend();

jQuery.fn

jQuery.fn = jQuery.prototype = {init: function( selector, context ) {//….//……};

原來 jQuery.fn = jQuery.prototype.對prototype肯定不會陌生啦。

雖然 javascript 沒有明確的類的概念,但是用類來理解它,會更方便。

jQuery便是一個封裝得非常好的類,比如我們用 語句 $(“#btn1″) 會生成一個 jQuery類的實例。

jQuery.extend(object)

為jQuery類添加類方法,可以理解為添加靜態(tài)方法。如:

jQuery.extend({min: function(a, b) { return a < b ? a : b; },max: function(a, b) { return a > b ? a : b; }});jQuery.min(2,3); // 2 jQuery.max(4,5); // 5Objectj Query.extend( target, object1, [objectN])

用一個或多個其他對象來擴展一個對象,返回被擴展的對象

var settings = { validate: false, limit: 5, name: "foo" }; var options = { validate: true, name: "bar" }; jQuery.extend(settings, options); //結果:settings == { validate: true, limit: 5, name: "bar" }jQuery.fn.extend(object);

對jQuery.prototype進得擴展,就是為jQuery類添加“成員函數(shù)”。jQuery類的實例可以使用這個“成員函數(shù)”。

比如我們要開發(fā)一個插件,做一個特殊的編輯框,當它被點擊時,便alert 當前編輯框里的內(nèi)容。可以這么做:

$.fn.extend({       alertWhileClick:function() {           $(this).click(function(){                  alert($(this).val());            });         }    });    $("#input1").alertWhileClick(); // 頁面上為:  $("#input1") //為一個jQuery實例,當它調用成員方法 alertWhileClick后,便實現(xiàn)了擴展,每次被點擊時它會先彈出目前編輯里的內(nèi)容。

jQuery.extend() 的調用并不會把方法擴展到對象的實例上,引用它的方法也需要通過jQuery類來實現(xiàn),如jQuery.init(),而 jQuery.fn.extend()的調用把方法擴展到了對象的prototype上,所以實例化一個jQuery對象的時候,它就具有了這些方法,這 是很重要的,在jQuery.js中到處體現(xiàn)這一點

jQuery.fn.extend = jQuery.prototype.extend

你可以拓展一個對象到jQuery的 prototype里去,這樣的話就是插件機制了。

(function( $ ){$.fn.tooltip = function( options ) {};//等價于var tooltip = {function(options){}};$.fn.extend(tooltip) = $.prototype.extend(tooltip) = $.fn.tooltip})( jQuery );

以上這篇深入理解jquery的$.extend()、$.fn和$.fn.extend()就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持錯新站長站。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 桦川县| 朝阳市| 南昌县| 六枝特区| 蛟河市| 左云县| 隆回县| 肥东县| 封开县| 凤山县| 曲周县| 宁南县| 儋州市| 射阳县| 扎兰屯市| 富锦市| 民丰县| 新昌县| 合江县| 全椒县| 澎湖县| 茶陵县| 甘肃省| 金湖县| 团风县| 南充市| 手游| 库伦旗| 微博| 仲巴县| 定边县| 凌云县| 高青县| 绥中县| 大埔县| 内江市| 泸定县| 汕头市| 微山县| 娄底市| 神农架林区|