JavaScript é uma linguagem de script pertencente à rede!
O JavaScript é usado por milhões de páginas da web para melhorar o design, verificar formulários, detectar navegadores, criar cookies e muito mais.
O JavaScript é a linguagem de script mais popular da Internet.
JavaScript é fácil de usar! Você vai adorar!
O JavaScript é uma linguagem de script interpretada com sintaxe flexível, permitindo que pessoas diferentes escrevam funções diferentes de várias maneiras diferentes. Como organizar o código JavaScript para que outras pessoas possam ver rapidamente que você não é simples? Você está ansioso para que outra pessoa susire depois de ler seu código, "Acontece que você pode escrever dessa maneira"?
N maneiras de escrever funções anônimas
A função anônima de JS é uma função auto-executiva com o nome da função não declarado, e o formato é o seguinte:
(função(){})();Na verdade, costumamos colocar ""; em frente ao projeto:
;função(){}();Como a sintaxe do JS pode omitir os semicolons, mas esse mecanismo também pode levar a erros inesperados. Para evitar erros de sintaxe causados pela fusão e compactação do código em um arquivo após o lançamento, adicionando ";" "; pode evitar erros desconhecidos.
Mas às vezes vemos que as bibliotecas ou plug-ins de outras pessoas escrevem funções anônimas como esta:
+function () {} ();"+" é um operador aqui e o operador tem prioridade extremamente alta, portanto, a parte da declaração de função à direita com colchetes (na verdade a maneira de gravar a execução da função) é executada diretamente. De fato, pode ser não apenas o sinal "+" na frente, mas os operadores como "-", "!", "~" E "++" podem ser usados. Aqui estamos apenas uma introdução à extensão. Qual método específico de escrita é usado depende dos padrões unificados da equipe.
Abandon Math.CEIL () e Math.Floor Rounding
Talvez eu tenha visto esses dois símbolos ~~ e | 0 em outros códigos, e observe os resultados em execução diretamente:
>> var a1 = 1,23 >> ~~ a11 >> var a2 = 2,345 >> a2 | 02 >> var a3 = -3.45 >> ~~ a3-3 >> var a4 = -4.5 >> a4 | 0-4
Observe que este método de escrita não é original, mas é citado para analisar e explicar esse método alternativo de escrita. Uma explicação simples é que ~ é um operador inverso bit -bit, que pode converter números de ponto flutuante em números inteiros descartando todos os bits após o ponto decimal. Inteiros positivos podem ser convertidos em valores hexadecimais não assinados. Em seguida, inverso (~~) negativo e negativo novamente para ser positivo e obter o número inteiro original. É que ele é tão voluntário e irrestrito. Você acha que é uma otimização?
NOTA: Se você precisar fazer operações de arredondamento estritas, deverá usar esse método com cautela, ainda precisará usar a função de matemática.
Se e mais não forem os únicos
O uso de condições IF-ELSE é uma lógica muito clara, não parece muito concisa ao processar dados não é grande:
se (a === 1) {// é fortemente recomendado usar o símbolo estritamente igual "===" aqui, e a conversão de tipo não será executada a = 2} else (a === 3) {a = 4} else {a = 5}Dê uma olhada no seguinte a usar || e && para fazer o código perder peso:
((a === 1) && (true, a = 2)) || ((a === 3) && (true, a = 4)) || (a = 5)
Isso será feito em uma linha e você perderá peso com sucesso. || e &&, o princípio simples não deve mencionar. Não é fácil de entender ao usar o operador de vírgula. Você pode continuar a alterá -lo para o operador ternário:
(a === 1)? a = 2 :( (a === 3)? (a = 4): (a = 5))
Essa maneira de escrever parece ser simplificada o suficiente, mas será um pouco difícil para os outros ver seu código.
Substitua a estrutura de DOM de costura de cordas irritantes pela ToString
Se queremos gerar dinamicamente uma estrutura DOM, geralmente a implementamos assim:
var modelo = "<div>"+ "<h2> {title} </h2>"+ "<div class = 'content' yattr = '' '> {content} </div>"+ "</div>"Se vários atributos e parâmetros forem adicionados, é fácil relatar erros quando as citações grandes e pequenas estiverem confusas. No entanto, o ES6 fornece string de modelo para nos ajudar a resolver esse problema, você pode escrever assim:
var modelo = <div> <h2> {title} </h2> <div class = 'content' yattr = ''> {content} </div> </div>Mas o problema é que o ES6 ainda não chegou oficialmente ... não tenha medo, a função. A história resolverá o constrangimento quando não estivermos conectados:
var rcomment = ////*([/s/s]*?)/*///; // Função de string multiplique ms (fn) {return fn.toString (). Match (rcomment) [1]}; ms (function () {/ * <div> <h2> {title} </h2> <div class = 'content' yattr = ''> {content} </div> </div> */})A saída aqui é a mesma da saída de string anterior. Os programadores front-end só precisam prestar atenção à sua própria estrutura DOM.
Adicionar suporte ao módulo AMD, código imediato B
Declare a especificação do módulo AMD (Definição de Módulo Assíncrona) no código que você escreveu, para que outros possam carregar seu módulo diretamente através da especificação AMD. Se outros não carregarem seu módulo através da especificação, você também poderá devolver elegantemente um objeto global regular. Vamos dar uma olhada no método de escrita de Jqueryui:
(function (fábrica) {if (typeof define === "function" && define.amd) {// Modo AMD. E depende do plug-in "jQuery" definir (["jQuery"], fábrica);} else {// Browser Global Factory (jQuery); a}} (função ($) {$) {// put-swode fábrica (jQuery);Altere-o para a estrutura do módulo AMD para tornar seu código mais adequado para dependências de script de carregamento do lado do navegador. Escreva o código neste formato para garantir que outras pessoas saibam que você é um desenvolvedor profissional assim que olhar para o código.
O melhor método de herança
O JavaScript possui mais de dez métodos de herança, grandes e pequenos. As vantagens e desvantagens de cada método de escrita são diferentes e cada método não é listado um por um. Tome um método de herança comum como exemplo, a herança do protótipo:
function parent () {} function filho () {} child.prototype = parent.prototypechild.prototype.constructor = child;Na verdade, esse método aponta o ponteiro salvo no filho. Prototipo e pai.prototipo para o mesmo objeto; portanto, se algumas propriedades forem estendidas no protótipo do objeto filho, para que o protótipo do objeto pai continue herdando mais tarde, o protótipo do objeto pai também será reescrito. Portanto, para resolver esse problema, tente emprestar um método de redação temporária de construtor:
function vazio () {} empty.prototype = parent.prototype; child.prototype = new empty (); child.prototype.constructor = child;Dessa forma, as próprias propriedades e métodos de protótipo do objeto pai são protegidos. "Optimal" é um pouco exagerado, mas em comparação. Acredito que todo mundo tem seu próprio estilo de escrita, e há também as vantagens e desvantagens de pedir empréstimos e se inscrever para implementar a herança do atributo. O comprimento é limitado e não os apresentarei um por um.
Resumir
Todos os métodos alternativos de escrita de JavaScript mencionados acima são açúcar de sintaxe para uma eficiência fácil de entender ou melhorar. Tais métodos são preferíveis, como a prática de omitir o IF-Else, como mencionado acima. Alguns foram projetados para melhorar a compatibilidade e o desempenho do nosso código, como métodos de AMD e herança. ... Eu sou um novato, e certamente há algum conteúdo incompleto e inexplicável no conteúdo acima.
O conteúdo acima é uma introdução relacionada aos métodos de escrita alternativos para JavaScript, espero que seja útil para todos!