Para programadores da web, lidar com formatos simples de URL pode ser um pesadelo. Imagine que existem muitos componentes em um URL que afetará sua análise:
・・・ Começa com / personagem
・・・ Começa com //
・・・ Começa com um?
・・・ Começa com #
… Etc.
Quando você deseja o endereço absoluto deste endereço, como julgar o processamento e a análise? Pode ser do protocolo HTTP ou do protocolo HTTPS. É uma dor de cabeça. Felizmente, temos uma maneira fácil de determinar seu endereço absoluto, que é criar um elemento A para ajudar a concluir esta tarefa!
Código JavaScript
Aqui vou usar uma função JavaScript que retorna a função. Existem muitos benefícios em fazer isso, que serão discutidos abaixo.
var getAbsoluteurl = (function () {var a; retorna função (url) {if (! a) a = document.createElement ('a'); a.href = url; retorna a.href;};}) ();Esta função parece um pouco complicada. Primeiro, ele atribui uma função a uma variável e há outra função nesta função e uma variável predefinida. Alguém pode perguntar por que uma função precisa ser incorporada e se pode ser simplificada para isso:
var getAbsoluteurl = function (url) {var a = document.createElement ('a'); a.href = url; Retornar A.Href;}Obviamente, esse método de escrita simples não pode ser calculado mal, mas não é perfeito o suficiente, porque, embora a prática de incorporar uma função aumente a complexidade do código, ele pode garantir que o elemento A seja criado apenas uma vez e possa ser reutilizado, economizando tempo e memória.
Talvez alguém faça outra pergunta, imaginando se existe um julgamento se na segunda função aninhada, por que é necessária e por que não escrevê -lo da seguinte forma:
var getAbsoluteurl = (function () {var a = document.createElement ('a'); função de retorno (url) {a.href = url; retorna a.href;};}) ();Essa é naturalmente uma maneira de executar, e não haverá erros na função. Mas o sutil é que, se não houver uma declaração de julgamento, ao definir essa função, mesmo que a função não seja chamada por nenhum código, o elemento A será inicializado. Com a declaração de julgamento se, o elemento A será criado quando for realmente usado, e não haverá desperdício de memória e CPU.
OK, com esse método, não importa que tipo de endereço de URL você o passe, ele retornará o endereço absoluto.
Todos, vamos tentar!
O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.