Fenómeno:
1. Em JavaScript, a declaração de variáveis e funções será promovida à execução superior.
2. A melhoria da função é maior que a melhoria das variáveis.
3. Se uma variável externa com o mesmo nome for declarada dentro da função com VAR, a função não será mais para cima.
4. As funções anônimas não serão promovidas.
5 funções em diferentes blocos <Script> não afetam um ao outro.
exemplo:
Promoção da declaração de função maior que a declaração variável
// declarar a variável A e a função Avar A; função a () {} alert (tipo de a); // A "função" é exibida, que prova preliminarmente que a prioridade da função é maior que o VAR. // Declare a função primeiro e depois declare a variável, provando que o exemplo acima não funciona substituindo a função variável A () {} var a; alerta (tipo de A); // A tela ainda é "função", não "indefinida", ou seja, a prioridade da função é maior que o VAR. // declara a variável e atribua a função de valor a () {} var a = 1; alerta (tipo de a); // Número, não é uma função neste momento. // Nota: "var a = 1" é equivalente a "var a; a = 1", isto é, declare primeiro e depois atribua um valor. "A = 1" é equivalente a reatribuir a, que é naturalmente número!A função usa VAR para definir a mesma variável que a externa, e a função não procurará mais variáveis externas para cima.
var value = 'hello'; function show () {alert (valor); if (! value) {var value = 'function'; } alert (value);} show () // A função é chamada aqui e aparece "indefinida", "função" // O exemplo acima é equivalente a var value = 'hello'; function show () {var value; // observe este alerta de linha (valor); if (! value) {value = 'function'; // Esta linha remove var} alert (value);} show () // 1. Se o valor definido internamente no programa na coluna acima não usar VAR, uma variável externa será usada e "Hello" será exibido, "Hello". // 2. Se o valor não for definido dentro da função, o valor do valor externo também poderá ser obtido.Funções anônimas não melhorarão
getName () var getName = function () {alert ('closle')} função getName () {alert ('function')} getName () // o código acima é equivalente a function getName () {// a função é aumentada o alert ('function')} nome () varvNe = sTUNST = (//) {ALERT UP ('function')} nome () aparece "função" e "closule"Funções em diferentes blocos <cript> não se afetam
<SCRIPT> getName () var getName = funcript () {alert ('closle')} <Cript> <Script> function getName () {alert ('function')} <Cript> // Código Execution Error: typeError: getName não é uma função // porque a função GetName () no primeiro <script>A breve discussão acima sobre a melhoria de variáveis e declarações de função no JavaScript é todo o conteúdo que compartilho com você. Espero que você possa lhe dar uma referência e espero que você possa apoiar mais o wulin.com.