O JavaScript tem uma má reputação na internet, mas é difícil para você encontrar outro idioma como é tão dinâmico, tão amplamente usado, tão enraizado em nossas vidas. Seu baixo limite de aprendizado fez muitas pessoas chamam isso de linguagem de script em pré -escola. Outra coisa que faz as pessoas rirem é o conceito de linguagem dinâmica que usa altos padrões de tipos de dados estáticos. Na verdade, você e JavaScript assumiram a posição errada e agora você deixa o JavaScript com muita raiva. Aqui estão cinco razões pelas quais sua tecnologia JavaScript é terrível.
1. Você não está usando um espaço para nome.
Você ainda se lembra que em professores universitários lhe disseram para não usar variáveis globais em sua lição de casa? O uso de variáveis globais no JavaScript não é exceção. Se você não tomar cuidado, se tornará caótico e há roteiros e bibliotecas de scripts confusos que são encontrados em todos os cantos da Internet. Se você nomear um carregador variável (), estará deliberadamente causando problemas. Se você sobrecarregar uma função inconscientemente, o JavaScript não o lembrará. Você também chama de linguagem de programação pré -escolar, lembra? O que vou dizer é que você precisa saber o que acontece depois de fazer isso.
A cópia do código é a seguinte:
function derp () {alert ("um"); }
function derp () {alert ("dois"); }
derp ();
"Dois", a resposta é "dois". Não é necessariamente o caso, pode ser "um". Portanto, é fácil colocar todo o seu código em seu próprio espaço para nome. Aqui está uma maneira simples de definir seu próprio espaço para nome.
A cópia do código é a seguinte:
var foospace = {};
foospace.Derp = function () {alert ("One"); }
function derp () {alert ("dois"); }
foospace.Derp ();
2. Você está fazendo truques, define variáveis uma a uma.
Seu uso de combinação inexplicável de números como nomes de variáveis é um final de perda de perda. Procurar uma variável de personagem sem nenhum significado em um bloco de código de 40 linhas é um pesadelo para manutenção. Misturar a primeira declaração de uma variável em um bloco de código de 40 linhas também é um pesadelo. Mesmo quando você encontra uma variável tão variável, não pode deixar de se perguntar: "Onde isso está definido?" E, em seguida, use rapidamente a combinação Ctrl+F para encontrar a definição inicial dessa variável no código -fonte. Não, não faça isso, pelo contrário, é um abuso de JavaScript e uma abordagem estúpida. Você sempre deve definir a variável na parte superior de seu escopo de uso. Não se pode dizer que, como isso não é necessário, você não pode fazê -lo.
A cópia do código é a seguinte:
função(){
var a, // Descrição
b; //descrição
//processo…
}
3. Você não entende o escopo variável do JavaScript.
Você é um programador genial, come C ++ e lista de puxar. Você sabe o que são as faixas de variáveis, você tem controle total sobre suas variáveis e as vê como o Imperador Supremo. No entanto, JavaScript puxa uma merda no seu café e ri sem parar.
A cópia do código é a seguinte:
var herp = ”um”;
{
var herp = ”dois”;
}
alerta (herp);
Nesse caso, você recebe Herp não é "um", mas "dois". O intervalo válido variável do JavaScript não depende de blocos de código como outros idiomas. Os intervalos de variáveis JavaScript são baseados em funções. Cada função possui seu próprio intervalo de variáveis e o JavaScript é legal dessa maneira, ignorando o escopo embrulhado em aparelhos sem sentido. De fato, o JavaScript é tão legal que você pode até passar por escopos variáveis, como namespaces ou variáveis.
4. Você acha que os recursos orientados a objetos do JavaScript são enxertados.
JavaScript, desde a sua criação, tem sido uma linguagem orientada a objetos. Tudo é um objeto em JavaScript, tudo! Mesmo símbolos literais, como números e caracteres, podem ser convertidos em objetos por meio de seu próprio construtor inerente. Comparado com outros idiomas orientados a objetos, o JavaScript é diferente, pois não possui classes. Os objetos JavaScript são definidos como funções e até as próprias funções são objetos. O JavaScript possui uma propriedade chamada protótipo. Esta propriedade é incorporada em todos os objetos. Você pode alterar a construção do objeto, modificar o objeto, adicionar mais variáveis e mais funções.
A cópia do código é a seguinte:
var derp; // vai manter uma instância do herp
var herp = function () {
this.opinion = ”JavaScript é mais legal que o básico.”;
}
Herp.prototype.speak = function () {alert (this.opinion); }
var derp = new herp ();
derp.speak ();
Se isso parece não ter nada a ver com você, gostaria de apresentar meu bom amigo Google a você, o que é bom em ajudar as pessoas a aprender conhecimento. Orientado a objetos é um grande tópico para o meu artigo curto e de baixa postura.
5. Quando você usa a palavra -chave "nova", é como um homem cego e um cavalo cego.
JavaScript deve ser sua primeira namorada de amor, porque você parece perdido. Se você deseja agradar o JavaScript como uma pessoa real, precisa entender os símbolos de objetos. Você basicamente não precisa usar a nova palavra -chave, exceto quando precisar instanciar um objeto ou em casos raros em que os dados são carregados de maneira atrasada. A atribuição de um grande número de novos endereços variáveis no JavaScript é uma operação muito lenta e, por motivos de eficiência, você deve sempre usar símbolos de objeto.
A cópia do código é a seguinte:
VAR direto = [1, 2, 3];
var whryway = nova matriz (1, 2, 3);
Você se lembra que eu disse que o intervalo de variáveis do JavaScript é baseado em funções? Você se lembra de alguém dizendo que os objetos JavaScript são definidos como funções? Se você não usar a nova palavra -chave para declarar um objeto, tornará esse objeto um escopo global. Portanto, é um bom hábito sempre usar a nova palavra -chave para declarar objetos.
A cópia do código é a seguinte:
var derp = ”um”;
var herp = function () {
this.derp = ”dois”;
}
var foo = herp ();
alerta (derp);
Se você escrever dessa maneira, o JavaScript não se importará, e a resposta que você realmente aparece é "dois"! Existem muitas maneiras de impedir que os objetos façam esse comportamento, que podem ser usados para usar a instância, mas uma maneira melhor é usar a nova palavra -chave corretamente, o que a torna mais profissional.
Agora você sabe que seu código JavaScript é terrível e, se você se lembra do que é dito acima, seu código melhorará. Gosto de usar 3 teclas de guia para recuperar o código, gosto de usar sublinhados para conectar palavras, gosto de capitalizar a letra inicial da função para indicar que é um objeto. Claro, esta é outra discussão. Existem muitas razões pelas quais seu código JavaScript é ruim, assim como eu tenho muitas habilidades, para que eu possa expressar suas opiniões, apoio, objeção e me dar alguns conselhos nos comentários.
Muito obrigado a Rogeliorv e Jared Wein por apontar os erros no ponto 5. Você é muito forte.