A definição de função do JavaScript possui um recurso, que primeiro examinará toda a instrução do corpo da função e "atualizar" todas as variáveis declaradas no topo da função:
'Use Strict'; function foo () {var x = 'hello,' + y; alerta (x); var y = 'bob';} foo ();Embora seja o modo rigoroso, a declaração var x = 'hello' + y; não relata um erro, porque a variável y é declarada posteriormente. Mas o alerta mostra olá, indefinido, indicando que o valor da variável y é indefinido. Isso ocorre precisamente porque o mecanismo JavaScript melhora automaticamente a declaração da variável y, mas não aumenta a atribuição de variável y.
Para a função Foo () acima, o código visto pelo mecanismo JavaScript é equivalente a:
function foo () {var y; // Declaração da variável de elevação y var x = 'hello,' + y; alerta (x); y = 'bob';}Devido a essa estranha "característica" do JavaScript, quando definimos variáveis dentro de uma função, respeite estritamente a regra "para declarar todas as variáveis primeiro dentro de uma função". A maneira mais comum é usar um VAR para declarar todas as variáveis usadas internamente na função:
function foo () {var x = 1, // x é inicializado para 1 y = x + 1, // y é inicializado em 2 z, i; // z e eu somos indefinidos // Outras declarações: para (i = 0; i <100; i ++) {...}}O artigo acima sobre como melhorar o entendimento aprofundado das variáveis JS é 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.