var Declaração
Última atualização: 2026-10-13
var Declaração
| Categoria | Declarações |
|---|
⚙️ Parâmetros
| 变量名 | |
|---|---|
| 初始值 |
Modifica o original:Não (retorna um novo valor)
⚠️ Aviso
💡 Dica
🌐 Suporte do navegador
| Navegador | |||||
|---|---|---|---|---|---|
| var | ✓ v1 | ✓ v12 | ✓ v1 | ✓ v1 | ✓ v1 |
| Suportado por todos os navegadores modernos | |||||
🏷️ Declarações relacionadas
💡 Casos relacionados
Mais estudos de caso em breve — aguarde.
📚 Tutoriais relacionados
❓ Perguntas frequentes
QO que exatamente é içado (hoisted) com var?
AApenas a declaração é içada, não a atribuição. Quando o escopo é executado, a variável é registrada com o valor undefined, então lê-la antes da atribuição retorna undefined em vez de lançar erro; o valor real é escrito quando a execução chega naquela linha.
QPor que usar var em um loop quebra os manipuladores de eventos?
AO loop compartilha um único binding de var, então cada callback captura a mesma variável. Quando os callbacks são executados, o loop já terminou e todos leem o último valor. Trocar para let dá a cada iteração sua própria cópia — a correção clássica de closures.
QAinda devo usar var em projetos novos?
AQuase nunca. let e const fornecem escopo de bloco, proíbem redeclaração e dão proteção de zona morta temporal, o que remove os bugs mais comuns da era do var. Mantenha var apenas ao lidar com código muito antigo que nunca é transpilado.