Für Webprogrammierer kann der Umgang mit einfachen URL -Formaten ein Albtraum sein. Stellen Sie sich vor, es gibt viele Komponenten in einer URL, die sich auf Ihre Analyse auswirken:
・・・ beginnt es mit / Charakter
・・・ beginnt es mit //
・・・ Beginnt es mit einem?
・・・ Fängt es mit # an
…usw
Wenn Sie die absolute Adresse dieser Adresse haben möchten, wie beurteilen Sie die Verarbeitung und Parsen? Es kann aus dem HTTP -Protokoll oder aus dem HTTPS -Protokoll stammen. Es ist Kopfschmerzen. Glücklicherweise haben wir eine einfache Möglichkeit, seine absolute Adresse zu bestimmen, nämlich ein A -Element zu erstellen, um diese Aufgabe zu erledigen!
JavaScript -Code
Hier werde ich eine JavaScript -Funktion verwenden, die die Funktion zurückgibt. Dies gibt viele Vorteile, die unten diskutiert werden.
var getAbSoluteUrl = (function () {var a; return function (url) {if (! a) a = document.createelement ('a'); a.href = url; return a.tref;};}) ();Diese Funktion sieht etwas kompliziert aus. Es weist zunächst einer Variablen eine Funktion zu, und es gibt eine andere Funktion in dieser Funktion und eine vordefinierte Variable. Jemand kann sich fragen, warum eine Funktion eingebettet werden muss und ob sie darauf vereinfacht werden kann:
var getAbSoluteUrl = Funktion (url) {var a = document.createelement ('a'); a.reif = url; kehren Sie A.reif;} zurückNatürlich kann diese einfache Schreibmethode nicht falsch berechnet werden, aber sie ist nicht perfekt genug, denn obwohl die Praxis, eine Funktion einzubetten, die Komplexität des Codes erhöht, kann jedoch sichergestellt werden, dass das A -Element nur einmal erstellt und wiederverwendet werden kann, Zeit und Speicher speichern.
Vielleicht wird jemand eine andere Frage stellen und sich fragen, ob es in der verschachtelten zweiten Funktion ein IF -Urteil gibt, warum es benötigt wird und warum nicht wie folgt schreiben:
var getAbSoluteUrl = (function () {var a = document.createelement ('a'); Rückgabefunktion (url) {a.href = url; return a.href;};}) ();Dies ist natürlich eine Möglichkeit zu laufen, und es wird keine Fehler in der Funktion geben. Das Subtile ist jedoch, dass beim Definieren dieser Funktion, wenn die Funktion nicht von einem Code aufgerufen wird, das A -Element initialisiert wird. Mit der iF -Urteilserklärung wird das A -Element erstellt, wenn es tatsächlich verwendet wird, und es gibt keine Verschwendung von Speicher und CPU.
OK, mit dieser Methode, egal in welcher Art von URL -Adresse Sie sie weitergeben, wird die absolute Adresse zurückgegeben.
Jeder, lass es uns versuchen!
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.