As palavras anteriores
JavaScript é uma linguagem simples e uma linguagem complexa. É simples porque leva apenas um momento para aprender a usá -lo; É complicado porque leva anos para realmente dominá -lo. De fato, os engenheiros de front-end se referem aos engenheiros de JavaScript em grande parte. É fácil começar com o front-end e difícil de dominar. Refere-se ao front-end e, mais importante, JavaScript. Este artigo é o primeiro artigo em gramática básica de JavaScript - LEXICAL STRUCTUME
Relacionamento com Java
Há um ditado sobre JavaScript: o relacionamento entre Java e JavaScript é a relação entre Lei Feng e Lei Feng Tower. Então isso importa?
O nome inicial do JavaScript foi o LiveScript. A razão pela qual escolhi o JavaScript como nome oficial provavelmente era fazer parecer uma família famosa. Além da sintaxe que se parece com Java, JavaScript e Java são duas linguagens de programação completamente diferentes.
As linguagens de programação são divididas em duas categorias: interpretadas e compiladas. Idiomas como Java ou C ++ requerem um compilador. Um compilador é um programa que pode traduzir o código-fonte escrito em idiomas de alto nível, como Java em arquivos que são executados diretamente no computador. As linguagens de programação interpretadas não requerem compiladores - eles exigem apenas intérpretes, e o intérprete JavaScript no navegador lerá diretamente no código -fonte e o executará.
Teoricamente, o Java pode ser implantado em quase qualquer ambiente, mas o JavaScript tende a ser aplicado apenas aos navegadores da Web. Além disso, no idioma JavaScript, as funções são tipos de dados independentes, usando cadeias de herança com base em objetos de protótipo, e a sintaxe JavaScript é muito mais livre que o Java.
Basicamente, o significado original do nome JavaScript é "muito semelhante à linguagem de script java"
definição
O JavaScript é uma linguagem de programação interpretada do tipo dinâmica e fraca que é muito adequada para estilos de programação orientados a objetos e funcionais. A sintaxe do JavaScript vem de Java, sua função de primeira classe vem do esquema e sua herança baseada em protótipo vem de si mesmo de si mesmo
O JavaScript é usado para aprimorar o efeito dinâmico da página e realizar a interação em tempo real e dinâmica entre a página e o usuário.
JavaScript consiste em três partes: Ecmascript, DOM e BOM
[1] O ECMAScript é definido pela ECMA-262 e fornece funções de idioma principal (a ECMA é a Associação Europeia de Fabricantes de Computadores)
[2] DOM (Modelo de Objeto de Documento) Modelo de Objeto, fornecendo métodos e interfaces para acessar e manipular o conteúdo da página da web
[3] Bom (modelo de objeto de navegador) Modelo de objeto do navegador, fornecendo métodos e interfaces para interagir com o navegador
Sensibilidade ao caso
Em relação ao JavaScript de idioma, não importa quanto seja enfatizado, é sensibilidade ao caso. Palavras -chave, variáveis, nomes de funções e todos os identificadores no JavaScript devem ser consistentes em parte superior e inferior.
// 'online', 'online', 'online', 'online' são quatro nomes de variáveis diferentes
[Nota] HTML não é sensível ao caso
Palavra reservada
Como qualquer outra linguagem de programação, o JavaScript mantém alguns identificadores para seu próprio uso. Essas palavras reservadas não podem ser usadas como identificadores comuns. Devido ao enganoso de muitos livros de referência, parece que palavras e palavras -chave reservadas são separadas, mas na verdade não são. Palavras -chave são apenas parte das palavras reservadas. Palavras reservadas incluem palavras -chave, palavras reservadas futuras, literais vazios e literais booleanos
ReservatedWord ::
Palavra -chave
FutureReservedWord
Nullliteral
Booleanliteral
Palavras -chave
Break Do Instanceof Typeof
caso mais novo Var
Catch finalmente retornar vazio
Continue para mudar enquanto
Debugger funcione isso com
Padrão se Excluir
na tentativa
Palavras reservadas futuras
As seguintes palavras são usadas como palavras -chave de extensão sugeridas e, portanto, são reservadas para que essas extensões possam ser adotadas no futuro.
Enum de classe se estende super
Const Export Import
Versão ECMAScript3
Os acima são palavras reservadas para o ECMAScript5, mas as palavras reservadas na versão ECMAScript3 são diferentes. Se você deseja que o código seja executado em um intérprete com base na implementação do ECMAScript3, evite usar as seguintes palavras reservadas como identificadores.
Resumo Byte Boolean Char Class ConstDouble Enum Export estende Final Float
Implementos de implementos de importação int interfacelong Pacote nativo protegido privado
public curto curto estático super sincronizado.
Variáveis e funções predefinidas
Além disso, JavaScript predefinou muitas variáveis e funções globais e deve evitar o uso de seus nomes como nomes de identificadores
Argumentos Array Boolean Date decodeuri decodeuricomponent EncodeuriEncodeuricomponent Erro AvaliError função infinito isfinito
ISNAN JSON Math Nan Number Object Parsefloat Parseint RangeError
ReferenceError regexp string syntaxError typeError urierror indefinido
Comentário
Nem todas as declarações precisam ser interpretadas e executadas pelo intérprete JavaScript. Às vezes, você precisa escrever algumas informações no script para sua própria referência ou lembrete e esperar que o intérprete JavaScript possa ignorar diretamente essas informações. Este tipo de informação é comentário
Os comentários podem efetivamente ajudar a entender o fluxo de código e desempenham o papel da nota da vida no código, o que pode nos ajudar a descobrir o que os scripts fazem.
[Nota] Os comentários devem descrever o código com precisão. Comentários inúteis são piores do que nenhum comentário
Existem muitas maneiras de inserir comentários em scripts JavaScript, incluindo comentários de linha única, comentários de várias linhas e comentários no estilo HTML
【1】 Comentários de linha única começam com duas barras
// Comentário de linha única
【2】 Comentários de várias linhas também são chamados de comentários no nível do bloco, começando com uma barra e um asterisco/*, terminando com um asterisco e uma barra*/
/*
Este é um comentário de várias linhas
*/
[Nota] Esses caracteres nos comentários do nível do bloco/ **/ também podem aparecer em literais de expressão regular, portanto, os comentários no nível do bloco são inseguros para os blocos de código comentados.
/*
var rm_a = /*/.match(s);
*/
【3】 Os comentários do estilo HTML são aplicáveis apenas a comentários de linha única. De fato, o intérprete JavaScript lida <!- e //
<!- Este é um comentário em JavaScript
Se nos documentos html, você também precisará terminar o comentário com ->
<!-Este é um comentário em html->
Mas o JavaScript não exige isso, tratará -> como parte do conteúdo do comentário
[Nota] O HTML permite que comentários como este acima abranjam várias linhas, mas cada linha desses comentários deve ser adicionada como uma bandeira no início do comentário "<!-"
<!- eu sou comentário 1
<!- eu sou comentar 2
<!- eu sou comentar 3
Como o intérprete JavaScript é diferente do HTML ao lidar com comentários nesse estilo, é melhor não usá -lo em scripts JavaScript para evitar confusão.
Comentários do estilo HTML
Espaço em branco
Os espaços em branco geralmente não têm sentido, às vezes precisam ser separados usando -o, caso contrário, serão mesclados em um símbolo.
var que = this;
Os espaços em branco entre o VAR e isso não podem ser removidos, mas outros espaços em branco podem ser removidos
O JavaScript ignora os espaços entre os tokens no programa. Na maioria dos casos, o JavaScript também ignora quebras de linha. Como espaços e quebras de linha podem ser usados à vontade no código, o recuo limpo e consistente pode ser usado para formar um estilo de codificação unificado, melhorando assim a legibilidade do código
// Melhora a legibilidade do código adicionando caracteres de espaço em branco para (var i = 1; i <10; i ++) {//}JavaScript reconhece o seguinte como caracteres de espaço em branco
/U0009 TABE HORIZONTAL TACTO <BAB>
/U000B TABO VERTICAL CARACTER <Vt>
/U000C Página Alterar <FF>
/U0020 Space Character <sp>
/U00A0 Caractere não interrompido <nbsp>
/UFEFF Caracter Order Mark
JavaScript reconhece os seguintes caracteres como linearterminador de terminador de linha
/U000A Newline Personagem <lf>
/U000D Caractere de retorno de transporte <CR>
Delimitador de linha /U2028 <LS>
/U2029 Splitter de parágrafo <s>
Semicolon opcional
O JavaScript usa semicolons; Separa as declarações, que são muito importantes para melhorar a legibilidade e a limpeza do código. Mas o JavaScript não preenche Semicolons em todas as linhas de novo. Somente quando o código não puder ser analisado corretamente sem o ponto e vírgula, o JavaScript preencherá os semicolons.
var a
um
=
3
console.log (a)
JavaScript o analisa como:
var a;
a = 3;
console.log (a);
Esta regra de declarações de separação pode levar a algumas situações inesperadas
var y = x + f
(A+B) .ToString
JavaScript o analisa como:
var y = x + f (a + b) .ToString
Portanto, para permitir que o código acima seja analisado em duas declarações diferentes, o semicolon explícito no final da linha deve ser preenchido manualmente no final da linha
Duas exceções
Se a declaração atual e a próxima declaração de linha não puderem ser mesclados e analisados, o JavaScript preencherá o ponto de vírgula após a primeira linha, que é uma regra comum, mas há duas exceções
[1] A primeira exceção está no cenário envolvendo retorno, quebra, continue, arremesso de declarações. Se essas quatro palavras -chave forem seguidas por um intervalo de linha, o JavaScript preencherá o semicolon no intervalo da linha
Retornar
verdadeiro;
JavaScript o analisa como:
retornar; true;
E o significado original do código é:
retornar true;
[2] A segunda exceção é que, quando ++ e - os operadores estão envolvidos, se for usado como expressão de sufixo, deve ser a mesma linha que a expressão. Caso contrário, o final da linha preencherá o semicolon e ++ ou - será usado como operador de prefixo para a próxima linha de código e analisado
x
++
y
JavaScript o analisa como:
x; ++ y;
E o significado original do código é:
x ++; y;
Embora os semicolons não sejam necessários, é melhor não omiti -lo, pois a adição de semicolons pode evitar muitos erros, e não ter semicolons no final da linha de código levará a erros de compressão. A adição de um semicolon também melhorará o desempenho do código em alguns casos, porque o analisador não precisará mais gastar tempo adivinhando onde inserir um ponto e vírgula.