0407
funções aninhadas
Ponto conhecimento acrescentou:
lógica de curto-circuito: Se a primeira condição foi capaz de determinar o resultado de toda a expressão, então a segunda parte não é executado
&& A primeira condição é falsa tempo curto
|| A primeira condição é quando o verdadeiro curto-circuito
Por exemplo: um var 10 =
var b = 0
a> 10 && b === 0
a> 10 falsa, por isso toda a expressão resulta ter sido falsa, então a parte de trás b === 0
Esta condição não irá para o juiz
a> 0 || b 0 ===
Quando a primeira condição for verdadeira, toda a expressão já é verdade, então
A segunda condição não iria para o juiz
operador ternário: também conhecido como três operação de cabeça.
Há um = 10
a ++ // um yuan
a + 2 // dois yuan
// determinar a condição? Condição é satisfeita quando a execução do código: O código não se sustenta
Exemplo: a> 0 console.log ( 'maior do que 0') :? CONSOLE.LOG ( 'inferior a 0')
Ou console.log (a> 0 'é maior do que 0' :? 'é menor que 0')
bloco de declaração de chaves:
语句 块: se, switch, enquanto, para, (função)
bloco de declaração comum, se houver apenas uma linha de código, você pode omitir as chaves
Geralmente, se outra coisa, por algum tempo
Exemplo: var a = 10
if (a> 0) console.log ( 'maior que 0');
Recursiva: a função em si, chamadas ilimitadas, mas não pode, e deve ter de exportação (para si mesmo)
condições de configuração recursiva deve ter,
1. A criança deve emitir o problema original é a mesma coisa, e mais simples;
2. Não ilimitado chamando a si mesmo, deve ter uma tomada que simplificar a situação para o processamento não-recursiva.
Desde função recursiva é um push-se camada por camada, levando a pilha não pode aparecer, que irá causar um espaço de estouro de pilha cheia mais tarde.
função anônima: função sem um nome
例: função () {
console.log (123)
}
era teste = função () {
console.log (123)
}
div.onclick = função () {
console.log (123)
}
IIFE : Desde chamando uma função
Enquanto a função de um pacote imediatamente chamar de seu
Escrever tempo IIFE se o código não é em frente ao ponto e vírgula,
Nós precisamos adicionar um ponto e vírgula no IIFE frente
例: ; (função () {console.log (123)}) ()
As vantagens de redução de variáveis globais. Salvar espaço de memória
JS corrida e compilação
análise
Encontrar gramática básica não havia nada de errado
Pré-analisado
Pré-analisado antes da execução
var, tecla de função para avançar para o topo do escopo atual, o valor padrão variável é indefinida, o valor padrão é uma função do corpo do bloco de função,
Quando uma função com o mesmo nome de uma variável, uma função reservados.
interpretado
elevador variável:
Exemplo: os variável var declarações ao topo do escopo atual para melhorar única declaração não atribuição raise
console.log (a)
Há um = 10
Após a conclusão das duas linhas anteriores correspondentes ao elevador variável seguinte três linhas
Há uma
console.log (a)
a = 10
elevador variável é elevada ao topo do escopo atual
Melhorar a função : A função irá melhorar a palavra-chave função de declarar todo o corpo da função para o topo do escopo atual
evento:
evento de rato normal
clique clique do mouse
dbclick dois cliques do mouse evento acionado
Os eventos são exibidos quando você pressiona o mousedown rato
Eventos exibida quando você levantar o mouseup rato
Eventos exibido quando o mouse movido mouseout
Eventos exibido quando o mouse esquerda mouseover
Este será repetida uma e fora do tempo de disparo entre os elementos filhos do caixa, através e entrar e sair apenas quando o gatilho uma vez fora da caixa
Os eventos são exibidos quando o mouse entra mouseenter
Eventos exibido quando o mouse esquerda mouseleave
mouseMove uma vez a cada movimento desencadeia um movimento