Extend-Methode von JQuery:
Die Extend-Methode von JQuery ist eine häufig verwendete Methode, wenn wir Plug-Ins schreiben. Diese Methode enthält einige überladene Prototypen. Hier lernen wir gemeinsam etwas darüber.
1. Der Prototyp der Jquery-Erweiterungsmethode lautet:
extension(dest,src1,src2,src3...); .Merge into dest, und der Rückgabewert ist das zusammengeführte Ziel dass diese Methode die Struktur von dest nach dem Zusammenführen ändert. Wenn Sie das zusammengeführte Ergebnis erhalten, aber die Zielstruktur nicht ändern möchten, können Sie es wie folgt verwenden:
var newSrc=$.extend({},src1,src2,src3... )//Das heißt, „{}“ als Zielparameter.
Auf diese Weise können Sie src1, src2, src3 ... zusammenführen und dann das zusammengeführte Ergebnis an newSrc zurückgeben. Zum Beispiel:
var result=$.extend({},{name:"Tom",age:21},{name:"Jerry",sex:"Boy"})
Dann das Ergebnis nach der Zusammenführung
result={name:"Jerry",age:21,sex:"Boy"}
Das heißt, wenn die folgenden Parameter mit denen übereinstimmen Wenn Sie den vorherigen Parameternamen verwenden, überschreibt der letztere den vorherigen Parameterwert.
2. Lassen Sie den Parameter „dest“ weg.
Der Parameter „dest“ im Prototyp der Erweiterungsmethode oben kann weggelassen werden. Wenn er weggelassen wird, kann die Methode nur einen Parameter „src“ und „Merge src“ haben in das Objekt, das die Extend-Methode aufruft,
Zum Beispiel:
1. $.extend(src)
Diese Methode dient zum Zusammenführen von src mit dem globalen Objekt von jquery, zum Beispiel:
$ . extension({
hello:function(){alert('hello');}
});
Es dient dazu, die Hello-Methode in das globale Objekt von jquery einzubinden.
2. $.fn.extend(src)
Diese Methode führt src in das Jquery-Instanzobjekt ein, wie zum Beispiel:
$.fn.extend({
hello:function(){ warning( 'hello');}
});
dient dazu, die Hello-Methode in das jquery-Instanzobjekt einzubinden.
Hier sind einige häufig verwendete Erweiterungsbeispiele:
$.extend({net:{}});
Dies dient dazu, ein Netz im globalen JQuery-Objekt zu erweitern Namensraum.
$.extend($.net,{
hello:function(){alert('hello');}
})
Dies dient zur Erweiterung der Hello-Methode Gehen Sie zum zuvor erweiterten JQuery-Net-Namespace.
3. Die Extend-Methode von Jquery hat auch einen überladenen Prototyp:
extension(boolean,dest,src1,src2,src3...)
Der erste Parameter boolean gibt an, ob dies geschieht Führen Sie eine tiefe Kopie durch. Die anderen Parameter stimmen mit den zuvor eingeführten überein.
Was ist eine tiefe Kopie? John“, Standort: {Stadt: „Boston“, Landkreis: „USA“} },
{ letzter: „Resig“, Standort: {Bundesstaat: „MA“, Landkreis: „China“} } );
Wir können sehen, dass das Unterobjekt location:{city:"Boston"},
in src1 verschachtelt ist. Das Unterobjekt location:{state:"MA"} ist auch in src2 verschachtelt Parameter ist wahr.
Dann ist das zusammengeführte Ergebnis:
result={name:"John",last:"Resig",
location:{city:"Boston",state:"MA",county :"China"}}
Das heißt, es werden auch die verschachtelten Unterobjekte in src zusammengeführt,
Und wenn der erste Parameter boolean falsch ist,
Mal sehen, was das Ergebnis ist Die Zusammenführung erfolgt wie folgt:
var result=$.extend( false, {},
{ name: „John“, location:{city: „Boston“,county:“USA“} },
{ last: "Resig", location: {state: "MA",county:"China"} }
); Dann ist das zusammengeführte Ergebnis:
result={name:"John", last :"Resig",location:{state:"MA",county:"China"}}
Das Obige sind einige Details, die $.extend() häufig in Projekten verwendet.