Heim Web-Frontend js-Tutorial Eine kurze Analyse des Caching-Mechanismus von jQuery_jquery

Eine kurze Analyse des Caching-Mechanismus von jQuery_jquery

May 16, 2016 pm 04:45 PM
jquery 缓存机制 缓存系统

Als ich vor nicht allzu langer Zeit die Animationswarteschlange von jQuery untersuchte, stellte ich fest, dass das Caching-System von jQuery ebenfalls sehr leistungsfähig ist. Obwohl ich schon einiges damit zu tun hatte, habe ich es nie eingehend untersucht. Das Caching-System von jQuery ist bei externer Verwendung relativ einfach. Um beispielsweise bestimmte URL-Daten im Cache zu speichern, schreiben Sie einfach:

Code kopieren Der Code lautet wie folgt:

var val = "stylechen.com";
$("div").data( "url" ); // Rückgabe undefiniert
$ ("div").data( "url", val ); // Rückgabe von "stylechen.com"
$("div").data( "url" ); // Rückgabe von "stylechen.com"

Es können nicht nur Zeichenfolgen gespeichert werden, der obige Wert kann auch beliebige Daten sein und Objekte, Arrays, Funktionen usw. können darin gespeichert werden. Es ist ganz einfach, diese Funktion zu implementieren. Deklarieren Sie ein globales Objekt zum Speichern von Daten und verwenden Sie dann die Datenmethode zum Speichern oder Zurückgeben von Daten:

Code kopieren Der Code lautet wie folgt:

var cacheData = {}; // Verwendet zum Speichern von Daten Globales Objekt
var data = function( key, val ){
if( val !== undefined ){
cacheData[key] = val;
}

return cacheData[key];
};

Der wahre Reiz des jQuery-Caching-Systems liegt in seinen internen Anwendungen. Animationen, Ereignisse usw. nutzen alle dieses Caching-System. Als ich zuvor easyAnim geschrieben habe, habe ich die Animationswarteschlange in den benutzerdefinierten Attributen jedes DOM-Elements gespeichert. Dies erleichterte zwar den Zugriff auf die Warteschlangendaten, brachte jedoch auch versteckte Gefahren mit sich. Das Hinzufügen benutzerdefinierter Attribute und zu vieler Daten zu DOM-Elementen kann zu Speicherverlusten führen. Vermeiden Sie dies daher.

Wenn Sie das Caching-System von jQuery zum Speichern der Daten eines DOM-Elements verwenden, wird dem DOM-Element zunächst ein zufällig generiertes Attribut hinzugefügt. Dieses Attribut wird zum Speichern des Indexwerts für den Zugriff auf die zwischengespeicherten Daten verwendet, genau wie das DOM Das Element verfügt über einen offenen Schlüssel. Sie können den Cache-Safe jederzeit öffnen, solange Sie den Schlüssel haben. Die ursprünglich im DOM-Element gespeicherten Daten werden in den Cache übertragen, und das DOM-Element selbst muss nur ein einfaches Attribut speichern, sodass das Risiko von durch das DOM-Element verursachten Speicherverlusten minimiert werden kann. Das Folgende ist ein einfaches Caching-System, das ich geschrieben habe, um jQuery zu simulieren:


Kopieren Sie den Code Der Code lautet wie folgt:

var cacheData = {}, // Globales Objekt zum Speichern von Daten
uuid = 0,
// Zufallszahlen deklarieren
expando = "cacheData" ( new Date() " " ).slice( -8 );

var data = function( key, val, data ){
if( typeof key === "string" ){
if( val != = undefiniert ){
cacheData[key] = val;
}

return cacheData[key];
}
else if( typeof key === "object" ){
var index,
thisCache;

if( !key [expando] ){
// Ein Attribut eines DOM-Elements hinzufügen
// Die Zufallszahl ist der Attributname und der Indexwert ist der Attributwert
index = key[expando] = uuid;
if( !thisCache[expando] ){
thisCache[expando] = {};
}

if( gambling // Daten im Cache-Objekt speichern
thisCache[expando][val] = data;
}

// Gibt die im DOM-Element gespeicherten Daten zurück
return thisCache[expando][val];
}
};

var removeData = function( key, val ){
if( typeof key === "string" ){
delete cacheData[key];
}
else if( typeof key = == "object" ){
if( !key[expando] ){
return;

}

// Prüfe, ob das Objekt leer ist
var isEmptyObject = function( obj ) {
var name;
for ( name in obj ) {
return false;
}
return true;
},

removeAttr = function(){
try{
// IE8 und Standardbrowser können delete direkt verwenden, um Attribute zu löschen
delete key[expando];
}
Catch (e) {
// IE6/IE7 verwenden Methode „removeAttribute“ zum Löschen von Attributen
key.removeAttribute(expando);
}
},

index = key[expando];

if( val ){
// Nur die angegebenen Daten löschen
delete cacheData[index][expando][val];
// Wenn es sich um ein leeres Objekt handelt, löschen Sie einfach alle Objekte
if( isEmptyObject( cacheData[index] [expando] ) ){
delete cacheData[index];
removeAttr();
}
}
else{
// Alle im Cache gespeicherten Daten für DOM-Elemente löschen
CacheData[index] löschen;
removeAttr();
}
}
};





Bemerkenswert an dem obigen Code ist, dass die Verwendung von „delete“ zum Löschen eines benutzerdefinierten Attributs in IE6/IE7 einen Fehler meldet. Es kann nur mit „removeAttribute“ gelöscht werden. Folgendes ist das Ergebnis des Aufrufs:

Code kopieren


Der Code lautet wie folgt:

data( box, "myBlog", "stylechen.com" );
alert( data( box, "myBlog" ) ); // stylechen.com

removeData( box, „myBlog“ );

alert( data( box, "myBlog" ) ); // undefiniert
alert( data( box, "myName" ) ); // chenalert( box[expando] );


removeData( box );

alert( box[expando] ); // undefiniert



Natürlich ist das Caching-System von jQuery komplizierter als meines, aber das Grundprinzip ist immer noch dasselbe. easyAnim wird dieses Caching-System in späteren Versionen einführen.

Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Ausführliche Erläuterung der jQuery-Referenzmethoden: Kurzanleitung Ausführliche Erläuterung der jQuery-Referenzmethoden: Kurzanleitung Feb 27, 2024 pm 06:45 PM

Detaillierte Erläuterung der jQuery-Referenzmethode: Kurzanleitung jQuery ist eine beliebte JavaScript-Bibliothek, die häufig in der Website-Entwicklung verwendet wird. Sie vereinfacht die JavaScript-Programmierung und bietet Entwicklern umfangreiche Funktionen und Features. In diesem Artikel wird die Referenzmethode von jQuery ausführlich vorgestellt und spezifische Codebeispiele bereitgestellt, um den Lesern einen schnellen Einstieg zu erleichtern. Einführung in jQuery Zuerst müssen wir die jQuery-Bibliothek in die HTML-Datei einführen. Es kann über einen CDN-Link eingeführt oder heruntergeladen werden

Wie verwende ich die PUT-Anfragemethode in jQuery? Wie verwende ich die PUT-Anfragemethode in jQuery? Feb 28, 2024 pm 03:12 PM

Wie verwende ich die PUT-Anfragemethode in jQuery? In jQuery ähnelt die Methode zum Senden einer PUT-Anfrage dem Senden anderer Arten von Anfragen, Sie müssen jedoch auf einige Details und Parametereinstellungen achten. PUT-Anfragen werden normalerweise zum Aktualisieren von Ressourcen verwendet, beispielsweise zum Aktualisieren von Daten in einer Datenbank oder zum Aktualisieren von Dateien auf dem Server. Das Folgende ist ein spezifisches Codebeispiel, das die PUT-Anforderungsmethode in jQuery verwendet. Stellen Sie zunächst sicher, dass Sie die jQuery-Bibliotheksdatei einschließen. Anschließend können Sie eine PUT-Anfrage senden über: $.ajax({u

Wie entferne ich das Höhenattribut eines Elements mit jQuery? Wie entferne ich das Höhenattribut eines Elements mit jQuery? Feb 28, 2024 am 08:39 AM

Wie entferne ich das Höhenattribut eines Elements mit jQuery? Bei der Front-End-Entwicklung müssen wir häufig die Höhenattribute von Elementen manipulieren. Manchmal müssen wir möglicherweise die Höhe eines Elements dynamisch ändern, und manchmal müssen wir das Höhenattribut eines Elements entfernen. In diesem Artikel wird erläutert, wie Sie mit jQuery das Höhenattribut eines Elements entfernen, und es werden spezifische Codebeispiele bereitgestellt. Bevor wir jQuery zum Betreiben des Höhenattributs verwenden, müssen wir zunächst das Höhenattribut in CSS verstehen. Das Höhenattribut wird verwendet, um die Höhe eines Elements festzulegen

jQuery-Tipps: Ändern Sie schnell den Text aller a-Tags auf der Seite jQuery-Tipps: Ändern Sie schnell den Text aller a-Tags auf der Seite Feb 28, 2024 pm 09:06 PM

Titel: jQuery-Tipps: Ändern Sie schnell den Text aller Tags auf der Seite. In der Webentwicklung müssen wir häufig Elemente auf der Seite ändern und bedienen. Wenn Sie jQuery verwenden, müssen Sie manchmal den Textinhalt aller a-Tags auf der Seite gleichzeitig ändern, was Zeit und Energie sparen kann. Im Folgenden wird erläutert, wie Sie mit jQuery den Text aller Tags auf der Seite schnell ändern können, und es werden spezifische Codebeispiele angegeben. Zuerst müssen wir die jQuery-Bibliotheksdatei einführen und sicherstellen, dass der folgende Code in die Seite eingefügt wird: &lt

Verwenden Sie jQuery, um den Textinhalt aller a-Tags zu ändern Verwenden Sie jQuery, um den Textinhalt aller a-Tags zu ändern Feb 28, 2024 pm 05:42 PM

Titel: Verwenden Sie jQuery, um den Textinhalt aller Tags zu ändern. jQuery ist eine beliebte JavaScript-Bibliothek, die häufig zur Verarbeitung von DOM-Operationen verwendet wird. Bei der Webentwicklung müssen wir häufig den Textinhalt des Link-Tags (eines Tags) auf der Seite ändern. In diesem Artikel wird erläutert, wie Sie mit jQuery dieses Ziel erreichen, und es werden spezifische Codebeispiele bereitgestellt. Zuerst müssen wir die jQuery-Bibliothek in die Seite einführen. Fügen Sie den folgenden Code in die HTML-Datei ein:

Verstehen Sie die Rolle und Anwendungsszenarien von eq in jQuery Verstehen Sie die Rolle und Anwendungsszenarien von eq in jQuery Feb 28, 2024 pm 01:15 PM

jQuery ist eine beliebte JavaScript-Bibliothek, die häufig zur DOM-Manipulation und Ereignisbehandlung in Webseiten verwendet wird. In jQuery wird die Methode eq() verwendet, um Elemente an einer bestimmten Indexposition auszuwählen. Die spezifischen Verwendungs- und Anwendungsszenarien sind wie folgt. In jQuery wählt die Methode eq() das Element an einer angegebenen Indexposition aus. Indexpositionen beginnen bei 0 zu zählen, d. h. der Index des ersten Elements ist 0, der Index des zweiten Elements ist 1 und so weiter. Die Syntax der eq()-Methode lautet wie folgt: $("s

Wie kann man feststellen, ob ein jQuery-Element ein bestimmtes Attribut hat? Wie kann man feststellen, ob ein jQuery-Element ein bestimmtes Attribut hat? Feb 29, 2024 am 09:03 AM

Wie kann man feststellen, ob ein jQuery-Element ein bestimmtes Attribut hat? Wenn Sie jQuery zum Betreiben von DOM-Elementen verwenden, stoßen Sie häufig auf Situationen, in denen Sie feststellen müssen, ob ein Element ein bestimmtes Attribut hat. In diesem Fall können wir diese Funktion einfach mit Hilfe der von jQuery bereitgestellten Methoden implementieren. Im Folgenden werden zwei häufig verwendete Methoden vorgestellt, um festzustellen, ob ein jQuery-Element über bestimmte Attribute verfügt, und um spezifische Codebeispiele anzuhängen. Methode 1: Verwenden Sie die Methode attr() und den Operator typeof //, um zu bestimmen, ob das Element ein bestimmtes Attribut hat

Einführung in das Hinzufügen neuer Zeilen zu einer Tabelle mit jQuery Einführung in das Hinzufügen neuer Zeilen zu einer Tabelle mit jQuery Feb 29, 2024 am 08:12 AM

jQuery ist eine beliebte JavaScript-Bibliothek, die häufig in der Webentwicklung verwendet wird. Während der Webentwicklung ist es häufig erforderlich, mithilfe von JavaScript dynamisch neue Zeilen zu Tabellen hinzuzufügen. In diesem Artikel wird erläutert, wie Sie mit jQuery neue Zeilen zu einer Tabelle hinzufügen, und es werden spezifische Codebeispiele bereitgestellt. Zuerst müssen wir die jQuery-Bibliothek in die HTML-Seite einführen. Die jQuery-Bibliothek kann über den folgenden Code in das Tag eingeführt werden:

See all articles