Heim  >  Artikel  >  Web-Frontend  >  Eine kurze Diskussion über die Verwendung von $.extend() in jQuery

Eine kurze Diskussion über die Verwendung von $.extend() in jQuery

青灯夜游
青灯夜游nach vorne
2020-11-18 17:49:252221Durchsuche

Dieser Artikel fasst einige Verwendungsmöglichkeiten von jQuery $.extend() für jedermann zusammen. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird für alle hilfreich sein.

Eine kurze Diskussion über die Verwendung von $.extend() in jQuery

Verwandte Empfehlungen: „jQuery Video“

Zwei Methoden zum Entwickeln von Plug-Ins mit JQuery

1. jQuery.extend(object); Zum Erweitern der jQuery-Klasse selbst zur Klasse.

2. jQuery.fn.extend(object); Methoden zu jQuery-Objekten hinzufügen.

jQuery.fn

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

jQuery.fn = jQuery.prototype. O(∩_∩)O Haha~, kennst du diesen Prototyp? !

Obwohl JavaScript kein klares Klassenkonzept hat, ist es bequemer, Klassen zu verwenden, um es zu verstehen. jQuery ist eine sehr gut gekapselte Klasse. Wenn wir beispielsweise die Anweisung $("#p1") verwenden, wird eine Instanz der jQuery-Klasse generiert.

jQuery.extend(object)

Das Hinzufügen einer Klassenmethode zur jQuery-Klasse kann als Hinzufügen einer statischen Methode verstanden werden.

Chestnut①

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); //  5

jQuery.fn.extend(object);

dient dazu, der jQuery-Klasse „Mitgliedsfunktionen“ hinzuzufügen. Nur

Instanzen der jQuery-Klasse können diese „Mitgliedsfunktion“ aufrufen.

Chestnut ②

Wir möchten beispielsweise ein Plug-In entwickeln, um ein spezielles Bearbeitungsfeld zu erstellen. Wenn darauf geklickt wird, wird der Inhalt im aktuellen Bearbeitungsfeld benachrichtigt. Sie können Folgendes tun: Der Aufruf von

$.fn.extend({
    alertWhileClick: function() {
        $(this).click(function() {
            alert($(this).val());
        });
    }
});
//$("#input1")是jQuery的实例,调用这个扩展方法
$("#input1").alertWhileClick();
jQuery.extend() erweitert die Methode nicht auf die Instanz des Objekts. Die Methode, die darauf verweist, muss auch über die jQuery-Klasse implementiert werden, z. B. jQuery.init().

jQuery.fn. Der Aufruf von extension() erweitert die Methode auf den Prototyp des Objekts. Wenn also ein jQuery-Objekt instanziiert wird, verfügt es über diese Methoden, die sich überall in jQuery.

JS

jQuery widerspiegeln .fn.extend = jQuery.prototype.extend

Sie können ein Objekt in den Prototyp von jQuery erweitern, was den

Plug-in-Mechanismus darstellt.

Chestnut③

(function($) {
    $.fn.tooltip = function(options) {};
    //等价于 var
    tooltip = {
        function(options) {}
    };
    $.fn.extend(tooltip) = $.prototype.extend(tooltip) = $.fn.tooltip
})(jQuery);
Weitere Programmierkenntnisse finden Sie unter:

Programmiervideokurs! !

Das obige ist der detaillierte Inhalt vonEine kurze Diskussion über die Verwendung von $.extend() in jQuery. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:cnblogs.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen