A leitura deste artigo requer experiência de programação em outros idiomas.
Antes de começar a estudar
A maioria das linguagens de programação tem boas peças e peças ruins. Este artigo fala apenas sobre as boas partes do JavaScript, porque:
1. Apenas aprender a melhor parte pode diminuir o tempo de aprendizado
2. O código escrito é mais robusto
3. O código escrito é mais fácil de ler
4. O código escrito é mais fácil de manter
Tipos fracos e fortes
De um modo geral, quanto mais cedo você conserta o bug, menor o preço que você paga por ele. Os compiladores de idiomas fortemente digitados podem verificar certos erros no momento da compilação. O JavaScript é um idioma do tipo fraco, e seu intérprete não pode verificar erros de tipo, mas a prática mostra que:
1. Os erros que digitados fortemente podem evitar não são esses erros críticos
2. Tipos fracos podem trazer flexibilidade sem ter que suportar o ônus de tipos fortes
Padrões relacionados a JavaScript
O padrão ECMA-262 define o ECMAScript de idioma. JavaScript e ActionScript, como estamos familiarizados, todos são baseados no ECMAScript. Atualmente, o mainstream usa a versão 5 do ECMA-262, e o mecanismo V8 do Google é a implementação disso.
Olá JavaScript
JavaScript é uma linguagem de script que exige que um intérprete interprete e execute. Você pode explicar o JavaScript no navegador ou usar diretamente o Node.js, que integra o mecanismo JavaScript V8 do Google. Como o Node.js é muito conveniente de usar, uso o Node.js aqui para explicar a execução do JavaScript. Agora veja o primeiro programa JavaScript:
A cópia do código é a seguinte:
// test.js
console.log ("Hello JavaScript");
Execute este programa:
A cópia do código é a seguinte:
Node test.js
gramática
Comentários
O JavaScript usa o mesmo método de anotação que C ++, // para anotação de linha única, / * * / para anotação de várias linhas.
Tipo de número
O JavaScript possui apenas um tipo de tipo numérico, que é um número de ponto flutuante de 64 bits. O tipo de número possui dois valores especiais, NAN e Infinity. O significado da NAN não é um número (nem um número). Use a função isnan para verificar se é NAN. O valor infinito significa infinito. Em um objeto de matemática, existe um conjunto de métodos para manipular números, por exemplo: o método Math.floor é usado para diminuir.
Corda
O literal da corda pode ser embrulhado em cotações únicas ou duplas, e os caracteres escapados são usados (não é diferente de muitos outros idiomas). Cada caractere em JavaScript são dois bytes, que usa o conjunto de caracteres Unicode. Uma string tem um atributo de comprimento:
A cópia do código é a seguinte:
"Olá" .Length // O valor é 5, observe que não é "olá" .Length ()
As cordas não podem ser alteradas (como Lua). Além do atributo de comprimento mencionado aqui, existem alguns métodos, como:
A cópia do código é a seguinte:
'Cat'.ToupPercase () ===' Cat '
Declaração
A instrução VAR é usada para declarar variáveis locais, caso contrário, a variável é uma variável global e o valor da variável não inicializado é indefinido:
A cópia do código é a seguinte:
função f () {
var localvar = 123;
globalvar = 456;
var i; // O valor de I é indefinido
};
f ();
console.log (globalvar); // OK
console.log (Localvar); // Erro, Localvar não está definido
Um conjunto de declarações embrulhadas por {} é chamado de bloco de instrução. Ao contrário de outros idiomas, as funções no JavaScript não criarão novos escopos, por exemplo:
A cópia do código é a seguinte:
{
var V = 123;
}
console.log (v); // OK
If Declaração
A cópia do código é a seguinte:
se (expressão)
declaração
ou
A cópia do código é a seguinte:
se (expressão)
Declaração1
outro
Declaração2
ou
A cópia do código é a seguinte:
if (expressão1)
Declaração1
caso contrário, se (expressão2)
Declaração2
caso contrário, se (expressão3)
Declaração3
outro
Declaração4
A declaração IF decide executar ou pular certas declarações, julgando que o valor da expressão é verdadeiro ou falso. Em JavaScript, os seguintes valores são falsos (outros valores são verdadeiros):
1.False
2.null
3.UNDefined
4. String vazia
5.0
6.Nan
A declaração em se pode ser uma declaração ou um bloco de declaração.
Declaração de interruptor
A cópia do código é a seguinte:
Switch (n) {
Caso 1: // se n for igual a 1
// Executar bloco de código
quebrar;
Caso 2: // se n for igual a 2
// Executar bloco de código
quebrar;
padrão: // se n não for 1 nem 2
// Executar bloco de código
quebrar;
}
Aqui o intervalo é usado para sair de uma instrução LOOP ou SWITCH. No JavaScript, existem dois operadores que comparam se dois valores são iguais:
1. == (correspondente a! = Operador), igual, e os dois tipos de operando são diferentes. Este operador tenta converter o tipo de operando antes de comparar, por exemplo:
A cópia do código é a seguinte:
var x = 1;
x == 1; // verdadeiro
x == "1"; // verdadeiro
2. === (correspondente a! == Operador), que é completamente igual, compara dois operando e não executa a conversão do tipo de operando, por exemplo:
A cópia do código é a seguinte:
var x = 1;
x === 1; // verdadeiro
x === "1"; // false
Deve -se notar que a NAN e qualquer valor não são iguais. Se x for nan, então x! == x (apenas segura para NAN). Podemos implementar a função ISNAN como esta:
A cópia do código é a seguinte:
função isnan (n) {
retornar n! == n;
}
A instrução Switch acima é convertida em IF Declaração como:
A cópia do código é a seguinte:
if (n === 1)
// ...
caso contrário, se (n === 2)
// ...
outro
// ...
enquanto e declarações de fazer
A cópia do código é a seguinte:
Enquanto (expressão)
declaração
Se a expressão for verdadeira, repita a declaração até que a expressão seja falsa.
A cópia do código é a seguinte:
fazer
declaração
enquanto (expressão);
Semelhante a um loop de tempo, ele apenas executa a instrução primeiro e depois verifica a expressão condicional.
para declaração
A cópia do código é a seguinte:
para (inicializar; teste; incremento)
declaração
Primeiro, o Initialize é executado uma vez (geralmente usado para inicializar as variáveis de loop) e, em seguida, teste o teste da condição (geralmente usado para testar variáveis de loop), se a condição de teste for falsa, o loop para, caso contrário, a instrução será executada e, em seguida, o incremento (geralmente usado para atualizar as variáveis do loop) e, em seguida, o teste do teste será executado, o loop continua. Exemplo de uso:
A cópia do código é a seguinte:
for (var i = 0; i <5; ++ i) {
console.log (i);
}
Outra forma de for é usada para enumerar todos os nomes de atributos de um objeto:
A cópia do código é a seguinte:
para (variável no objeto)
declaração
exemplo:
A cópia do código é a seguinte:
var obj = {
A: 1,
B: 2,
C: 3
};
para (Var Nome em OBJ)
console.log (nome);
Deve -se notar que usamos o método HistownProperty para verificar se o nome da propriedade é do objeto ou encontrado na cadeia de protótipos (cadeia de protótipos, o protótipo será introduzido no próximo artigo):
A cópia do código é a seguinte:
para (var em obj) {
if (obj.hasownProperty (var)) {
// ...
}
}
Declaração de retorno
A instrução Return é usada para fazer da função retornar um valor. Se a função não usar explicitamente o retorno, ele retornará indefinido:
A cópia do código é a seguinte:
função f () {}
var V = f (); // v === indefinido
?: Operador condicional (o único operador ternário em JavaScript)
?: Os operadores condicionais existem em muitas linguagens de programação. Quando o primeiro operando é verdadeiro, o operador retorna o valor do segundo operando; caso contrário, o valor do terceiro operando será retornado. Exemplo:
A cópia do código é a seguinte:
função abs () {
retornar x> 0? x: -x;
}
TIPOOF Operador
O operador TIPOOF é usado para obter o tipo de variável e seu valor de retorno inclui:
1. 'Número'
2. 'String'
3.'Boolean '
4.'ndendefined '
5. 'Function'
6.'Object '
O resultado retornado pelo tipo de nulo especial é 'objeto'. Exemplos sobre o tipo de:
A cópia do código é a seguinte:
var a = typeof 'hello'; // a === 'string'
var b = tipo de nulo; // b === 'objeto'
+ Operador
O operador + pode ser usado no JavaScript para operações de adição ou concatenação de string:
A cópia do código é a seguinte:
var message = 'hello' + 'World'; // mensagem === 'Helloworld'
&& e || operadores
O operador && retorna o valor do primeiro operando quando o primeiro operando é falso, caso contrário, retorna o valor do segundo operando.
|| O operador retorna o valor do primeiro operando quando o primeiro operando é verdadeiro, caso contrário, retorna o valor do segundo operando.
A cópia do código é a seguinte:
var a = 1 && true; // a === Verdadeiro
var b = 1 || falso; // b === 1
|| Um idioma:
A cópia do código é a seguinte:
nome = nome || 'desconhecido'; // Defina o valor padrão 'desconhecido' para o nome