Ich habe in diesem Prozess schon lange keine Tagebücher mehr geschrieben. Man sieht, dass das Schreiben von Fachartikeln in der Vergangenheit abgelöst wurde Herz war voller Leidenschaft oder Feuer, aber jetzt ist es ..
Kürzlich habe ich ein JS-Plug-in geschrieben, es heißt a Ob es gut ist oder nicht, liegt nicht an Ihnen. Der Schlüssel liegt darin, was jeder nutzt.
Natürlich verwende ich es selbst. Aufgrund meiner persönlichen Vorlieben und Vorlieben kann ich die Schreibmethode anderer Ajax-Frameworks nicht ausleihen. Die aktuelle Version ist das Ergebnis einer Aufwärtsintegration von Version 1 Wenn Sie die interne Struktur vollständig verstehen möchten, können Sie mit Version 1 beginnen.
Lassen Sie uns nun über die allgemeine Designstruktur sprechen. Die grundlegende Schreibmethode wurde entwickelt: nativeAjax Die erste Methode ist ein Ajax-Attribut, die zweite eine erfolgreiche Funktion und die dritte eine Fehlerfunktion wie folgt:
nativeAjax(postOption,function(data){ // 3.1、请求成功回调 console.log(data); },function(error){ // 3.2、请求失败回调,返回HTTP状态码 console.log(error); });
Geben Sie es dann basierend auf dem obigen Entwurfsmuster an Bei einer zweiten Kapselung werden zunächst die Ajax-Diensteigenschaften festgelegt, dann können wir alle Ajax-Eigenschaften an das Objekt binden. Wenn sie direkt an das angegebene Objekt gebunden sind, müssen wir tatsächlich nur Parameter angeben und übernehmen, wodurch A gespart wird Es wurden viele Dinge getan und der Prozess ist viel einfacher, sodass die Flexibilität nicht sehr hoch sein wird. Wenn wir es intern kapseln möchten, benötigen wir eine hohe Flexibilität und wiederverwendbare Attribute. Daher füge ich die Attribute in die Funktionsfunktion ein und verwende diesen Zeiger, um das Ajax-Attribut intern zu binden, um es aufzurufen, und gleichzeitig kann ich dies tun es intern. Die Neukapselung des Plug-Ins ist das Entwurfsmuster der internen Struktur dieser Version, wie ich es verstehe.
Version 2Die von rewrap-ajax aufgerufene externe Struktur ähnelt dem JQ.fn-Attribut von jq. Es wird von der Objektattributmethode der Kettenstruktur verwendet, wir befinden uns also im Inneren