1 变量的基本概念

通俗理解,值可以变化的量称为变量。本质就是一个容器,用来存储程序运行中产生的临时数据。

javascript是弱类型语言,跟java不同,变量可以随时变换类型,类型区分并不强烈。

1.1 创建变量步骤

  • 声明变量
  • 给已经声明的变量赋值

1.2 创建示例

// 创建一个变量并且赋值
age = 20;
 
// 修改已经声明并且赋值变量的值
age = 21;
 
// 声明一个变量,此时没有赋值
var id;
 
// 给声明的变量赋值
id = 1020;
 
// 声明一个小数
var weight = 80.3;
 
// 字符串
var name = "张三丰";
var address = '大城市-燕郊';
 
// 布尔类型
var studyHard = true;
 
// undefined 和 null
var hobby;
console.log(hobby); // 输出:undefined
 
var score = null;
console.log(score);

2 变量的命名规则与规范

2.1 规则

  • 变量名由:字母、数字、下划线、美元符号($)组成
  • 数字不能开头
  • 长度理论上没有限制
  • 区分大小写
  • 不能是 JavaScript 的关键字或保留字(如 var、this、function 等)

2.2 指导思想

  • 见名知意(最重要)
  • 驼峰命名法:单词首字母小写,后面每个单词首字母大写
  • 不要使用中文

3 变量的声明方式(var / let / const)

(完整对比表格已在上一版保留,此处略,实际笔记中可直接复制粘贴)

最佳实践

  • 默认使用 const
  • 需要重新赋值时使用 let
  • 避免使用 var

4 作用域

4.1 作用域概述

作用域规定了变量的可访问范围。JavaScript 采用词法作用域(定义时确定)。

主要类型:

  • 全局作用域
  • 函数作用域(var 典型)
  • 块级作用域(let / const)
  • 模块作用域

4.2 作用域链

查找变量时:当前作用域 → 外层作用域 → 全局作用域 → 报错。

let globalVar = '我是全局变量';
 
function outerFunction() {
    let outerVar = '我是外层函数变量';
 
    function innerFunction() {
        let innerVar = '我是内层函数变量';
        console.log(innerVar);
        console.log(outerVar);
        console.log(globalVar);
    }
    innerFunction();
}
outerFunction();