Pour les programmeurs Web, les formats URL simples peuvent être un cauchemar. Imaginez simplement qu'il existe de nombreux composants dans une URL qui affecteront votre analyse:
・・・ Est-ce que cela commence par / le caractère
・・・ Cela commence par //
・・・ Est-ce que cela commence par un?
・・・ Est-ce que ça commence par #
…etc
Lorsque vous voulez l'adresse absolue de cette adresse, comment juger le traitement et l'analyse? Il peut provenir du protocole HTTP ou du protocole HTTPS. C'est un mal de tête. Heureusement, nous avons un moyen facile de déterminer son adresse absolue, qui est de créer un élément A pour aider à accomplir cette tâche!
Code javascript
Ici, j'utiliserai une fonction JavaScript qui renvoie la fonction. Il y a de nombreux avantages à procéder, qui seront discutés ci-dessous.
var getAbsoluluteUrl = (function () {var a; return function (url) {if (! a) a = document.createElement ('a'); a.href = url; return a.href;};}) ();Cette fonction semble un peu compliquée. Il attribue d'abord une fonction à une variable, et il existe une autre fonction dans cette fonction et une variable prédéfinie. Quelqu'un peut demander pourquoi une fonction doit être intégrée et si elle peut en être simplifiée:
var getAbsoluluteUrl = fonction (url) {var a = document.createElement ('a'); a.href = url; retour a.href;}Bien sûr, cette méthode d'écriture simple ne peut pas être mal calculée, mais elle n'est pas assez parfaite, car bien que la pratique d'incorporer une fonction augmente la complexité du code, elle peut garantir que l'élément A est créé une seule fois et peut être réutilisé, en gagnant du temps et de la mémoire.
Peut-être que quelqu'un posera une autre question, se demandant s'il y a un jugement si le jugement dans la deuxième fonction imbriquée, pourquoi il est nécessaire et pourquoi ne pas l'écrire comme suit:
var getabsoluluteUrl = (function () {var a = document.createElement ('a'); return function (url) {a.href = url; return a.href;};}) ();C'est naturellement un moyen de s'exécuter, et il n'y aura pas d'erreurs dans la fonction. Mais ce qui est subtil, c'est que s'il n'y a pas de déclaration de jugement, lors de la définition de cette fonction, même si la fonction n'est appelée par aucun code, l'élément A sera initialisé. Avec l'instruction IF Jugement, l'élément A sera créé lorsqu'il sera réellement utilisé, et il n'y aura pas de gaspillage de mémoire et de CPU.
OK, avec cette méthode, quel que soit le type d'adresse URL que vous le transmettez, il renverra l'adresse absolue.
Tout le monde, essayons-le!
Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.