Heim  >  Artikel  >  Web-Frontend  >  Detaillierte Erläuterung der Anwendungsbeispiele der jQuery.extend-Funktion

Detaillierte Erläuterung der Anwendungsbeispiele der jQuery.extend-Funktion

巴扎黑
巴扎黑Original
2017-07-09 16:41:261114Durchsuche

Extend-Methode von JQuery:
Die Extend-Methode von JQuery ist eine häufig verwendete Methode, wenn wir Plug-Ins schreiben. Diese Methode weist einige Überladungen auf Prototyp, hier, lasst uns gemeinsam etwas darüber lernen.
  1. Der Prototyp der Jquery-Erweiterungsmethode lautet:  


extend(dest,src1,src2,src3.. . );


Es bedeutet, dass src1, src2, src3 ... in dest zusammengeführt werden, und der Rückgabewert ist das zusammengeführte Ziel. Es ist ersichtlich, dass diese Methode nach dem Zusammenführen geändert wird Ziel. Wenn Sie das zusammengeführte Ergebnis erhalten, aber die Struktur von dest nicht ändern möchten, können Sie es wie folgt verwenden:


var newSrc=$.extend({ },src1,src2,src3 ..)//Das heißt, verwenden Sie „{}“ 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:" Junge"})

Dann das zusammengeführte Ergebnis


result={name:"Jerry",age:21,sex : „Junge“🎜>

Das heißt, wenn der spätere Parameter denselben Namen wie der vorherige Parameter hat, überschreibt der spätere Parameter den vorherigen Parameterwert.

2. Den Zielparameter weglassen Der Zielparameter im Prototyp der oben genannten Erweiterungsmethode kann weggelassen werden, wenn er weggelassen wird, kann die Methode nur einen haben src Parameter und führen Sie den src mit dem
Objekt zusammen, das die Erweiterungsmethode aufruft, wie zum Beispiel:  
1, $.extend(src)
Diese Methode dient zum Zusammenführen src In das globale Objekt von jquery einbinden, zum Beispiel:


$.extend({

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(){alert('hello');}
});

Das heißt, die Hallo-Methode einzubinden Im JQuery-Instanzobjekt.

Hier sind einige häufig verwendete Erweiterungsbeispiele:


$.extend({net:{}});

  Dies dient dazu, einen net

Namespace im globalen JQuery-Objekt zu erweitern.


$.extend($.net,{

hello:function(){alert('hello');}
})

Dies dient dazu, die Hello-Methode in den zuvor erweiterten Jquery-Net-Namespace zu erweitern.

3. Die Extend-Methode von Jquery hat auch einen überladenen Prototyp:


extend(boolean,dest,src1,src2, src3. ..)

Der erste boolesche Parameter gibt an, ob Deep Copy durchgeführt werden soll. Die anderen Parameter stimmen mit den zuvor vorgestellten überein:


var result=$.extend( true, {},

{ name: „John“, location: {city: „Boston“,
county:“ USA "} }, { last: "Resig", location: {state: "MA",county:"China"} } );

Wir können sehen, dass es verschachtelte Teilzeichenfolgen gibt in src1 Der Objektstandort: {city: „Boston“}, der Unterobjektstandort: {state: „MA“} ist ebenfalls in src2 verschachtelt, der erste Deep-Copy-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. Wenn der erste boolesche Parameter falsch ist, sehen wir uns an, was das Ergebnis der Zusammenführung ist 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.

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Anwendungsbeispiele der jQuery.extend-Funktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn