Heim > Artikel > Web-Frontend > Was ist das Prinzip des JavaScript-Proxy-Modus?
In JavaScript besteht das Prinzip des Proxy-Musters darin, einen Ersatz oder Besatzer für ein Objekt bereitzustellen, um den Zugriff darauf zu steuern, indem ein Proxy für ein Objekt bereitgestellt wird, und das Proxy-Objekt steuert den Verweis auf das ursprüngliche Objekt ist ein Objektstrukturmuster.
Die Betriebsumgebung dieses Tutorials: Windows 10-System, JavaScript-Version 1.8.5, Dell G3-Computer.
Ein Proxy ist ein Objekt (Proxy), das zur Steuerung des Zugriffs auf das Zielobjekt verwendet wird. Zu diesem Zweck muss es zunächst die gleiche Schnittstelle wie das Zielobjekt haben, unterscheidet sich jedoch vom Dekoratormuster dadurch, dass es keine Änderungen am Zielobjekt vornimmt. Sein Zweck besteht darin, die Initialisierungszeit „komplexer“ Objekte zu verzögern . Auf diese Weise können Sie das Zielobjekt initialisieren, wenn es verwendet wird (besonders wichtig für Singletons).
Stellen Sie einen Ersatz oder Platzhalter für ein Objekt bereit, um den Zugriff darauf zu steuern.
Stellen Sie einen Proxy für ein Objekt bereit. Das Proxy-Objekt steuert den Verweis auf das Originalobjekt. Das Proxy-Muster ist ein Objektstrukturmuster
Es gibt zwei Kategorien von Proxy-Mustern:
(1) Gewöhnlicher Proxy
(2) Lazy-Proxy
Schauen Sie sich einen Code an:
function getSomething(value) { if (value > 10) { return value * 2; } }
Hier definieren wir eine Funktion, Wenn der übergebene Wert größer als 10 ist, geben wir das Zweifache seines Werts zurück. Äh. . . Es ist ziemlich gut, aber es hat seine Mängel. Die Funktion macht zu viele Dinge. Unser Ziel ist es, den doppelten Wert des Parameters zu erhalten, und wir treffen hier eine bedingte Beurteilung. (Natürlich hat es hier keine Auswirkungen, ich gebe nur ein einfaches Beispiel.) Die Funktion, die wir wollen, besteht lediglich darin, einen Wert zurückzugeben.
Betrachten Sie einen Teil des Codes:
function getSomething(value) { return value * 2; } function proxtGet(value) { if (value <10) return; return getSomething(value); }
Jetzt haben wir die Funktion von getSomething getrennt und entschieden, ProxyGet zu verwenden, um es zu tun, dann kann getSomething seine eigene Sache sicher erledigen.
Tatsächlich handelt es sich um eine Art Schutz-Proxy. Wir stellen die ProxyGet-Methode zum Schutz des Zielobjekts bereit. Nur diejenigen, die die Bedingungen erfüllen, können es bedienen.
Wenn es eines Tages nicht mehr nötig ist, ein Urteil zu fällen, können wir getSomething direkt aufrufen, um das Ergebnis zu erhalten.
Das Folgende ist eine Einführung in virtuelle Agenten:
In der Webentwicklung ist die Netzwerkanforderung zweifellos das Teuerste. Wenn wir auf eine Liste klicken, senden wir eine Wenn Sie darum bitten, die Datei in den Hintergrund zu packen, ist ein solcher Netzwerk-Overhead ein Albtraum (vorausgesetzt, die Echtzeitanforderungen dieses Vorgangs sind nicht sehr hoch). Dann können wir ihn auf diese Weise reduzieren Overhead:
function sendFile(files) { // 做一些操作,然后发送文件信息给后台 console.log('发送成功'); } var proxySendFile = (function () { var caches = []; var timer = null; return function (file) { caches.push(file); if (timer) { return }; timer = setTimeout(function () { sendFile(caches); clearInterval(timer); timer = null; caches.length = 0; }, 2000) } } )()
Hier ist sendFile der Vorgang zum Senden von Dateien. Wir verwenden ProxySendFIle, um den Vorgang zum Senden von Dateien durchzuführen. Halten Sie dies für möglich. Auch wenn Ihr Qilin-Arm nicht aufzuhalten ist, gibt es hier keinen Unterschied zwischen Ihnen und den anderen.
Verwandte Empfehlungen: Javascript-Lern-Tutorial
Das obige ist der detaillierte Inhalt vonWas ist das Prinzip des JavaScript-Proxy-Modus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!