1. Tags de fechamento automático sem usar o script
Use tags de fechamento automático no script. Embora seja legal no XHTML, ele não atende às especificações do HTML e não pode obter a análise correta de alguns navegadores. Eu usei esse método exatamente quando introduzi a EXT, o que fez com que o script não pudesse ser executado corretamente.
<script src="example.js"/> --> <script src="example.js"></script>
2. Coloque o script na frente de </body>
Se você colocar o arquivo de script em <head>, deve baixar e executar o script antes de exibir a página, o que aumenta o tempo de espera do usuário. Coloque a folha de estilo em <Head> para impedir que o conteúdo exiba anormalmente. O método geral é o seguinte:
<! Doctype html> <html lang = "en"> <head> <meta charset = "utf-8"> <titter> document </itit> <link rel = "stylesheet" type = "text/css" href = "tema.css"/> </weef> <Body> <!-html Code-> codificado-> shndml-> short-> src = "exemplo.js"/> </body> </html>
3. Use o modo rigoroso dentro da função
Se você usar o modo rigoroso fora da função, ele poderá causar a biblioteca de terceiros e o código dos colegas não funcionar corretamente. Dentro da função, ela só pode afetar seu próprio código e não o código de outras pessoas.
function myfunction () {"use strict"; // Código da função}4. Não omite o ponto e vírgula no final da declaração
Nenhum semicolon no final do código pode facilmente causar erros de compressão. Além disso, em alguns casos, o desempenho do código pode ser melhorado. O intérprete não deve gastar tempo adivinhando onde inserir semicolons. Outro problema mais comum é que a inserção automática de semicolons às vezes pode cometer erros, por isso não é recomendável omitir os semicolons.
5. Use var para definir variáveis
Use a palavra -chave Var ao definir variáveis e todas são avançadas para o início da função.
Os benefícios de fazer isso impedirão a criação inconsciente de variáveis globais e facilitarão o entendimento do seu código.
function myfunction () {var resultado = 10 + value; Valor var = 10; resultado de retorno;}Não há problema com essa sintaxe de função, mas não é muito intuitiva e não está em conformidade com a lógica humana. Seria melhor modificá -lo da seguinte forma:
funciton myfunction () {var resultado; Valor var; resultado = 10 + valor; valor = 10; resultado de retorno; }Deixe -me explicar que os dois códigos acima são equivalentes e o valor do resultado é NAN. O JavaScript promoverá todas as declarações variáveis na função até o início da função. O código 1 se tornará o código 2 quando o código for executado. Quando é executado para resultar = 10 + valor;, o valor do valor é indefinido e 10 é adicionado à NAN e, em seguida, o valor é atribuído a 10.
Todos devem ser claros sobre os problemas causados por variáveis globais, caso contrário, o conceito de espaço para nome não apareceria.
6. Declare a função primeiro e depois use -a
Como declarações variáveis, as declarações de função também são avançadas pelo mecanismo JavaScript; portanto, no código, a chamada da função pode aparecer antes da declaração da função. Outra coisa que vale a pena notar é que as declarações de função não devem aparecer em blocos de declaração, como:
if (condição) {function myfunction () {alert ("true"); }} else {function myfunction () {alert ("false"); }} myfunction ();Quando executamos o código, descobrimos que a saída estará relacionada ao navegador. Ele é produz verdadeiro no Chrome 51 e no Firefox 46, e falso no IE 10. Portanto, tente evitar declarar funções em blocos de declaração.
7. Use o tipo de nulo subfinado com cautela
NULL é um valor especial, que muitas vezes somos confundidos com indefinidos. Os seguintes cenários devem usar NULL:
NULL não deve ser usado nas seguintes situações:
A melhor maneira de entender o NULL é usá -lo como um espaço reservado para o objeto. A razão pela qual frequentemente confundimos nulos e indefinidos é que achamos que nulos e indefinidos são variáveis que não são inicializadas, mas apenas indefinidas significa que uma variável não foi inicializada e nula significa que ela é inicializada como um objeto. Veja o seguinte código:
Var Pessoa; Console.log (TypeOf Pessoa); //undefinedConsole.log(typeof foo); // Undefinedvar House = NULL; console.log (TypeOf House); //objeto
Portanto, tente não usar o tipoof para determinar se a variável é inicializada. Você não pode ter certeza se a variável não existe ou a variável não é inicializada. O retorno de Null também não tem certeza se a variável foi atribuída corretamente, portanto, tenha cuidado para usar o tipoof.
8. Tenha cuidado com o tipo de número
Acredito que todos sabem que os números inteiros de JavaScript apóiam os valores literais decimais, octais e hexadecimais. Se o valor numérico no valor literal exceder o intervalo em octal, o zero principal será ignorado e o valor numérico subsequente será analisado como decimal.
console.log(012); //10
console.lgo (082); // 82
Se octal e hexadecimal forem usados para decimais, haverá um erro de sintaxe. Outro ponto é que os literais octais são inválidos no modo rigoroso. Todo mundo conhece o problema dos erros de cálculo de pontos flutuantes. Isso é verdade para todos os cálculos de ponto flutuante com base nos valores IEEE754, portanto, nunca teste um valor específico do ponto flutuante.
Existe um valor especial no tipo numérico, NAN (não um número), que é usado para indicar que o valor deveria ter sido retornado, mas não é o tipo numérico. Nan e qualquer valor não são iguais, incluindo a própria Nan. Podemos usar a função isnan () para testar.
9. Atribuição dinâmica usando operações lógicas
O que você prefere
var pessoa = {idade: 10} var condition; var myvar = condition && Person; alert (myvar)Se a condição for convertida em tipo booleano false, então Myvar = condição, se verdadeiro, então myvar = pessoa.
var pessoa = {idade: 10} var condition; var myvar = condição || pessoa; Alerta (Myvar)Se a condição for convertida em booleana e verdadeira, então myvar = condição, se false, então myvar = pessoa.
10. Não use a declaração com
Uma razão importante para não usar é que, no modo rigoroso, a sintaxe em si desativa a declaração com com, que também mostra que o comitê do ECMAScript está convencido de que não deve ser usado. Vejamos o exemplo a seguir:
var book = {title: "Javascript sustentável", autor: "Nicholas C. Zakas"}; var message = "o livro é"; com (livro) {message += title; mensagem + = "por" + autor;}O problema com o código acima é que é difícil distinguir o local onde o título e o autor aparecem, e também é difícil distinguir uma variável local para abordar da mensagem ou uma propriedade de um livro. Além disso, o mecanismo JavaScript e as ferramentas de compactação não podem otimizar esse código, para que eles não possam adivinhar o significado correto do código.
Ok, já existem dez itens, vamos vê -lo nos próximos dez.