很多用户不清楚js里面声明变量的规则是什么,在使用var关键字的时候要声明变量时作用域为当前执行上下文,存在变量提升现象,可能导致代码执行顺序与声明顺序不一致时出现错误。 优先使用let和const替代var,避免因变量提升导致的错误。
一、JavaScript 变量声明规则
基本声明方式
使用 var(函数作用域)、let(块级作用域)或 const(块级作用域,不可重新赋值)声明变量。
变量名需以字母、_ 或 $ 开头,支持大小写敏感。
未赋值的变量默认为 undefined。
javascript1var a; // 函数作用域,可重复声明
2let b = 10; // 块级作用域,推荐使用
3const c = []; // 必须初始化,不可重新赋值
注意事项
避免重复声明 let/const。
var 存在变量提升,而 let/const 不会。
优先使用 const,除非需要重新赋值。

二、声明复合类型变量
复合类型通过字面量或构造函数声明,变量存储的是引用而非值本身。
对象(Object)
javascript1const person = { name: "Alice", age: 25 }; // 字面量
2const car = new Object(); // 构造函数
3car.brand = "Toyota";
数组(Array)
javascript1let numbers = [1, 2, 3]; // 字面量
2const emptyArr = new Array(5); // 构造函数(长度为5)
函数(Function)
javascript1const greet = function() { console.log("Hello"); }; // 函数表达式
2function sum(a, b) { return a + b; } // 函数声明
其他复合类型
javascript1const date = new Date(); // Date 对象
2const map = new Map(); // Map 集合
关键点:
复合类型变量通过 const 声明时,仍可修改其内部属性。
比较复合类型时比较的是引用,而非内容。
JavaScript变量是JavaScript编程语言中用于存储数据值的容器,可保存数值、文本或表达式,通过命名标识实现数据引用。以上就是关于JavaScript 变量声明规则的介绍,一起详细了解下吧。