Algum tempo atrás, respondi uma diferença entre usar a palavra -chave VAR na definição de variáveis. Vamos revisá -lo.
1. As variáveis definidas pela adição de VAR ao escopo da função são variáveis locais e as definidas sem VAR se tornam variáveis globais.
Use var para definir:
var a = 'hello world'; function bb () {var a = 'hello bill'; console.log (a); } bb () // 'olá bill'console.log (a); // 'Hello World'Não usando a definição VAR:
var a = 'hello world'; function bb () {a = 'hello bill'; console.log (a); } bb () // 'olá bill'console.log (a); // 'Olá Bill'2. No escopo global, as variáveis definidas com VAR não podem ser excluídas, as variáveis definidas sem Var podem ser excluídas. Isso significa que variáveis globais implícitas não são estritamente variáveis reais, mas atributos de objetos globais, porque os atributos podem ser excluídos por meio de exclusão e variáveis não podem ser.
3. Definir variáveis usando VAR também melhorará as declarações variáveis, ou seja,
Use var para definir:
função hh () {console.log (a); var a = 'hello world';} hh () // indefinidoNão usando a definição VAR:
função hh () {console.log (a); a = 'olá mundo';} hh () // 'a não é definido'Esta é a declaração de variáveis definidas usando VAR com antecedência.
4. No modo 'Usar Strict' do ES5, se a variável não for definida usando VAR, será relatado um erro.