Heim > Artikel > Web-Frontend > Vergleich und Verwendung von clone() und extension() in jQuery
jQuerys clone()-Methode: Wenn ich ein Objekt anpasse, z. B.
var obj = { chart: { type: 'spline', inverted: true }, title: {//标题文字 text: 'Atmosphere Temperature by Altitude' }, ... };
, wenn ich ein anderes obj2 anpassen möchte, kopiere den Inhalt von obj, ich habe
var obj2 = obj.clone();Offensichtlich habe ich ignoriert, dass obj nur ein
Kopie auf flacher Ebene: für Nicht-Basis Tiefe Kopie: Kopieren Sie jedesIm Folgenden gebe ich Ihnen eine Deep-Copy-Methode:Attribut und jede Methode des gezeigten Objekts auf das Objekt, auf das das neue Objekt zeigt, genau wie eine Kopie, sodass das neue Objekt geändert oder auf andere Weise geändert werden kann Der Vorgang hat keine Auswirkungen auf das Originalobjekt.
var cloneObj = function(obj){ var str, newobj = obj.constructor === Array ? [] : {}; if(typeof obj !== 'object'&& typeof obj !=='function'){ return; }else { for(var i in obj){ newobj[i] = typeof obj[i] === 'object' ? cloneObj(obj[i]) : obj[i]; } } return newobj; }; //克隆 var obj2=clone(obj);Wenn ich einige Parameter im Inneren ändern möchte, kann ich die folgende Methode verwenden
obj2.title.text = "XXX";extend(): Verwenden Sie die Methode „extend()“: Erweiterung bedeutet, dass eine oder mehrere Eigenschaften auf ein Objekt erweitert werden können
, um einen Vereinigungseffekt zu erzielen auf ein Objekt entspricht dem Klonen
$.extend(true,obj,{});und der Code zum Erzielen des Vereinigungseffekts lautet wie folgt
obj2 = $.extend(true,obj,obj2);Wenn Sie einen Parameter überschreiben möchten, können Sie und für wählen Dieselbe Override-Methode wie clone(), Sie können auch den folgenden Code vor
obj2 = $.extend(true,obj,obj2);:
Das obige ist der detaillierte Inhalt vonVergleich und Verwendung von clone() und extension() in jQuery. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!