Este artigo compartilha alguns dos métodos JS mais práticos que acumulei na vida cotidiana para sua orientação e avaliação. Quero apresentá -lo em diferentes artigos, mas achei um pouco extra. Eu resolvi os métodos, mas não tenho muitas maneiras de mostrar isso. Obviamente, alguns deles são métodos que eu vi online que, acho, são muito práticos. Vou postá -los aqui para todos discutirem.
1. Clique para retornar se não houver página anterior, entre na página especificada.
Antes de tudo, os requisitos das necessidades do cliente - uma única página compartilhada para o WeChat, clique para retornar para pular para a página inicial do site.
Durante esse período, essa função foi discutida com os clientes. Você pode adicionar o botão à página inicial para pular para a página?
No entanto, esse método não pode funcionar em cada página e indica que a página de compartilhamento que requer essa função não possui o próximo ícone e não afeta a beleza. Então, eu tive que procurar uma tripa. O cachorro também está cheio de funções que jogam bolas de borda.
Então, através da minha própria tentativa, tenho o seguinte código:
// retorna à página inicial sem uma página antes, retorne à função PushHistory () {// Obtenha o número de registros na pilha de histórico do navegador // porque a página atual é empurrada para a pilha quando a página é carregada, ela determina se é menor que 2 se (histórico.length <2) {var state = {title: "Index", url: getht: getht (historn.length <2) {var state = {title: "Index", url: getht: getht (getht (historn.length <2) {var state = {title: "Index", url: getht: getht (historn.length <2) {var state = {title: "Index", url: getht: getht (gethtptpppppPPPP; window.history.pushstate (estado, "index", gethttpprefix + "index.html"); estado = {title: "index", url: ""}; window.history.pushstate (estado, "index", ""); }}Em seguida, adicione o código a seguir ao evento pronto na página:
setTimeout (function () {pushHistory () window.addeventListener ("popstate", function (e) {5 if (window.history.state!A função específica é determinar se havia uma página antes. Caso contrário, insira o endereço de link do site no estado (a página inicial é usada aqui) e, em seguida, ouça o evento PopState para executar a operação de função correspondente.
Pode haver alguns pequenos problemas com este código, então pretendo postá -lo e alguém pode discutir e melhorá -lo juntos.
2. Método de registro conveniente
Acredito que todos já estão cansados do console.log () de comprimento ligeiramente detalhado ao depurar a página. Algumas pessoas podem usar entradas de atalho para fazer entradas rápidas (como o Input CL Compile Environment say de forma inteligente do console). No entanto, quando o projeto for lançado, ainda será difícil de esclarecer. Então, eu simplesmente escrevi um método para lidar com essa situação especificamente.
function lll () {// Global Variable _debug é usado para controlar o interruptor de informações de depuração se (_debug) {var arr = []; // argumentos são o conjunto de métodos de parâmetro. Isso é feito para não limitar o número de parâmetros e facilitar a depuração para (_Item em argumentos) {// porque hábitos pessoais que as informações da string são exibidas em uma linha, a sequência é filtrada e emendada se (typeof _item == "string") {ar.push (_item)} else {Console.Log (_Em (_em if (arr.length> 0) console.log (arr.join (','))}}Na verdade, estou um pouco insatisfeito com o fato de não conseguir obter o nome automaticamente do parâmetro; caso contrário, posso usá -lo assim:
var a = 123, b = 333, obj = {name: "name", content: "..."} lll (a, b, obj) // as informações de depuração são: a: 123, b: 123 // obj: // {name: "name", content: "..."}}Você parece entender mais?
3. Obtenha informações de posicionamento do navegador (suporta o terminal móvel)
Muitos projetos que recebi são desenvolvimento personalizado no celular; portanto, as informações que exigem que o local atual seja localizado é frequentemente usado.
No entanto, muitas interfaces na Internet precisam fazer referência a uma seção JS externa, como a API do Baidu, a API do WeChat, etc.
Em seguida, apresentarei um método que não requer referência ao JS externo, mas só precisa enviar parâmetros aos links de API externos para obter o posicionamento:
if (getCookie ('position') == "") {if (Navigator.UserAgent.Indexof ("Micromessesenger")> -1) {// julgue se é um terminal WeChat, dependendo da situação, o Navigator.Geolocation.GetCurrentPosition (Função GetPoSccess (Position) { html5 (o terminal móvel é o mais preciso, o PC terá um grande desvio) var lat = position.coords.latitude; // Obtenha a latitude atual var lng = posicional.coords.longitude; // obtém o longitude atual var = [] arr.push (lng) arr.push ((lat) // alert (position) "http://api.map.baidu.com/geocoder/v2/?ak=om55dvwvwluu7shkz7uy8m6e&callback=renderReverse&location=" + lat + "," + lng + "e json & pois = 1", // beforeSend: function () { // Since this process takes some time, it is best to have a loading prompt on the page iosload()//The page loading animation I wrote}, data: {}, dataType: "jsonp",//Since it is a cross-domain transmission, it is necessary to transmit in the form of jsonp jsonpCallback: "renderReverse",//The identity similar to cross-domain A transmissão requer o receptor e o transmissor para fazer um sucesso unificado: function (dados) {ios.hide (); (erro) {//Alert(error.Message);Este código é um pedaço de código no meu projeto real. Como preciso determinar se as informações de segmentação foram obtidas, não posso obtê -las uma vez que a página é carregada, então salvei as informações de segmentação usando cookies.
No começo, determinamos se existe um cookie de informações de posicionamento atual, mas não há. Em seguida, determine se está no terminal móvel (porque o projeto é do terminal WeChat, acabei de fazer a verificação do terminal do WeChat aqui)
Em seguida, ligue para os parâmetros da interface fornecidos pelo HTML5 para transmissão de dados, e o JSONP retornou do Baidu é processado. Como meu projeto só precisa obter as informações da cidade de localização, apenas dou um exemplo de obtenção de cidades.
4. Obtenha a parte numérica da string
Como sou responsável apenas pela implementação de funções no projeto, não construo muitas páginas, mas também criarei algumas situações difíceis nas quais os valores na tag são difíceis de obter.
por exemplo:
<div> O preço original de 998 agora é apenas <a> 99,8! </a> </div>
Para páginas como essa, às vezes você precisa obter 998 ou 98 nele. Vai se tornar um pouco problemático.
Através do método que eu forneço abaixo, esta situação pode ser facilmente resolvida
função getNum (text) {var value = text.replace (/[^(0-9).]/ig, ""); retornar parsefloat (valor); }Esse método é muito curto e está essencialmente correspondendo à regularidade. Substitua os caracteres que não são de número ou decimal por strings vazios (na verdade excluídos)
Os dados retornados dessa maneira é o número que queremos. Finalmente o converti em uma operação de ponto flutuante, que é para facilitar o pós-processamento dos dados. Por exemplo, mantenha dois lugares decimais, em volta deles, etc.
5. Obtenha informações do dispositivo
//#Região Obtenha informações do dispositivo Var navegador = {versões: function () {var u = navegator.UserAgent, app = Navigator.AppVersion; Return {Trident: U.IndexOf ('Trident')> -1, // ou seja, preto -kernel: U.IndexOf ('Presto')> -1, // Opera Kernel Webkit: U.IndexOf ('Applewebkit')> -1, // Apple e Google Kernel Gecko: U.InExof ('' ') -1, // Firefox Kernel Mobile: !! // Android Terminal ou UC navegador iPhone: u.IndexOF ('iPhone')> -1, // é um iPhone ou qqhd iPad do navegador: U.IndexOF ('iPad')> -1, // é um iPad WebApp: U.Indexof ('Safari') == -1, // se é um webApp: U. U. U.Indexof ('Micromessenger')> -1, // Seja WeChat (recém-adicionado em 2015-01-22) QQ: U.Match (// sqq/i) == "qq" // se é qq}; (Browser.versions.webkit) {// Código executado para Apple e Google Kernel ...} //#endregionAqui também está uma maneira de julgar as informações do dispositivo que escrevi e vi na Internet.
Pessoalmente, acho muito útil, então vou compartilhar com você.
Método de extensão da string--a seguir são métodos para anexar dados do tipo de string
1. Esconda a parte da corda além do comprimento especificado
/*Mostra a string em um comprimento especificado e o excesso é exibido em elipses (Len-Comprimento do comprimento padrão-string se a string estiver vazia)*/string.prototype.splitString = function (len, defaultStr) {var resultado = ""; var str = this.ToString () if (str) {str = str.Trim () if (str.Length> len) {resultado = str.substring (0, len) + "..."; } else {resultado = str; }} else {resultado = defaultStr; } resultado de retorno;}Os comentários são simples o suficiente. Se você não entender, pode deixar uma mensagem e o blogueiro responderá se você a vir.
2. Subtrair o comprimento da string por um
// subtraia um comprimento string.prototype.dellast = function () {return this.substring (0, this.length - 1)}Algumas pessoas podem pensar que esse método suspeita de tirar as calças e se peidar, mas, de fato, essa operação é frequentemente necessária em projetos reais.
Em vez de escrever uma longa substring, devemos escrever um método para simplificar o código, e também é muito conveniente clicar diretamente na sequência correspondente e selecionar dellast ao codificar o código.
Em uma frase, não há problema em usá -la!
3. Complete o comprimento especificado da sequência numérica
// Comprimento fixo para strings numéricos string.prototype.addZero = function (n) {var num = este var len = num.toString (). Comprimento; while (len <n) {num = '0' + num; Len ++; } retornar num;}Você pode não entender ao ler os comentários. De fato, está apenas adicionando essa string a "2". Este método de extensão pode ser usado dessa maneira. AddZero (2)
Então a string retornada é uma string como "02".
Todos disseram que está tudo bem depois de usá -lo!
4. Converta o tipo de dados do banco de dados até o momento
String.prototype.dtd = function () {return new Date (date.parse (this.toString (). Substituir (/-/g, "/")))}5. O apelido do usuário omitido
// O apelido do usuário omite string.prototype.telhide = function () {var name = este retorno name.substr (0, 1) + "****" + name.substring (name.length - 1, name.length)}O exposto acima é tudo sobre este artigo, espero que seja útil para o aprendizado de todos.