登录
首页 >  文章 >  前端

JavaScript变量声明方法详解

时间:2026-01-05 13:21:33 221浏览 收藏

今天golang学习网给大家带来了《JavaScript变量声明的三种方式》,其中涉及到的知识点包括等等,无论你是小白还是老手,都适合看一看哦~有好的建议也欢迎大家在评论留言,若是看完有所收获,也希望大家能多多点赞支持呀!一起加油学习~

JavaScript变量声明有var、let、const三种:var函数作用域、可重复声明、提升但赋值不提升;let块级作用域、不可重复声明、存在暂时性死区;const块级作用域、必须初始化且不可重新赋值,对象内部仍可修改;推荐默认用const,需重赋值时用let,避免var。

JavaScript变量声明有哪些不同方式?

JavaScript 中变量声明主要有 varletconst 三种方式,它们在作用域、提升(hoisting)、重复声明和可变性上存在关键区别。

var 声明:函数作用域 + 变量提升

var 是 ES5 及之前唯一的方式,具有函数作用域(不是块级),且存在变量提升——声明会被“移动”到当前作用域顶部,但赋值不会。

  • 可在同一作用域内重复声明同名变量(不会报错)
  • 在声明前访问会得到 undefined(而非 ReferenceError)
  • 在 if 或 for 等块中声明,仍可在块外访问

let 声明:块级作用域 + 暂时性死区

let 引入于 ES6,提供真正的块级作用域(如 if、for、{} 内),且不会被提升到块顶部。

  • 不允许在同一作用域内重复声明(会报 SyntaxError)
  • 在声明前访问会触发 ReferenceError(处于“暂时性死区”TDZ)
  • 适合用于可能重新赋值的变量,比如循环计数器、临时中间值

const 声明:块级作用域 + 不可重新赋值

const 同样是 ES6 引入,也具块级作用域和 TDZ 行为,但声明时必须初始化,且不能再次赋值。

  • 声明后不可用 = 赋新值(对基本类型严格不可变;对对象/数组,其引用不可变,但内部属性/元素可修改)
  • 适合声明不打算改变的值,如配置项、DOM 元素引用、函数表达式等
  • 即使声明的是对象,也建议优先用 const,除非明确需要后续重新指向另一个值

实际使用建议

现代 JavaScript 开发中,推荐默认使用 const,仅在确实需要重新赋值时改用 let,避免使用 var(除非需兼容极老环境或有意利用其函数作用域特性)。

  • 用 const 声明不变更的变量,代码更清晰、不易误改
  • let 适用于 for 循环中的 i、累加器、条件分支中不同赋值的变量
  • var 容易引发意料外的作用域和提升问题,已不推荐在新代码中使用

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《JavaScript变量声明方法详解》文章吧,也可关注golang学习网公众号了解相关技术文章。

前往漫画官网入口并下载 ➜
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>