JavaScript中变量是存储数据的容器,用let、const、var声明,区别在于作用域和可重赋值性;命名需合法且推荐驼峰式;未声明直接赋值在非严格模式下创建全局变量,严格模式报错。

变量是程序中用来存储数据的“容器”,它的值可以在程序运行过程中被读取、修改或参与运算。在 JavaScript 中,变量名就像一个标签,指向内存中某个位置存放的具体数据。
JavaScript 中声明变量的三种方式
现代 JavaScript 主要使用 let、const 和(不推荐新代码使用的)var 来声明变量,它们的关键区别在于作用域和可重新赋值性:
- let:用于声明块级作用域的变量,可以后续修改值,但不能重复声明同名变量
- const:也用于块级作用域,声明后必须初始化,且不能重新赋值(注意:对象或数组的内容仍可修改)
- var:函数作用域或全局作用域,存在变量提升(hoisting),允许重复声明,容易引发意外行为,新项目应避免使用
基本声明与赋值写法
声明变量通常和赋值一起进行,语法简洁:
- let userName = "张三"; —— 声明并赋字符串值
- const PI = 3.14159; —— 常量一般用大写下划线命名惯例
- let count; —— 先声明不赋值,默认值为 undefined
- count = 10; —— 后续再赋值(仅限 let 和 var,const 不行)
变量命名的注意事项
合法的变量名需遵守规则,同时兼顾可读性和维护性:
立即学习“Java免费学习笔记(深入)”;
- 只能以字母、下划线(_)或美元符号($)开头,后续可跟数字
- 不能是 JavaScript 保留字(如 if、function、return 等)
- 区分大小写:age 和 Age 是两个不同变量
- 推荐使用驼峰命名法(camelCase),如 userEmail、isActive
不声明直接使用变量会发生什么?
如果在非严格模式下直接给未声明的标识符赋值(例如 score = 95;),JavaScript 会自动创建一个全局变量——这极易导致命名冲突和难以调试的问题。在严格模式("use strict";)下,这种写法会直接报错,强制开发者显式声明。










