前言

亲爱的编程小法师们👋!我们已经学会了创建变量盒子和存放不同类型的宝物(字符串、数字)。现在我们要探索更酷的盒子操作技术!今天你将学会盒子的魔法刷新🔮和智慧命名🎯,让你的代码变得灵活优雅~

回顾昨天学的

第三课的重点是:

  • 文字珍珠​:用""包裹的字符串,如"你好"

  • 数字水晶​:无引号的数值,如365

  • 核心区别:数字可计算,文字可拼接

  • console.log()秘密打印机

今天学什么

今天深挖变量的奥秘:

  1. 盒子内容刷新技术 → 变量重新赋值

  2. 盒子命名艺术 → 变量命名规则

  3. 升级魔法盒 → 常量介绍

今天要学的内容


🎨 第一部分:盒子的魔法刷新 - 重新赋值

变量的"变"字就在于此:同一个盒子可以随时更换内容!

// 1. 创建初始盒子
var magicBox = "兔子";

// 2. 第一次查看
console.log(magicBox); // 输出:兔子

// 3. 更换盒子内容!
magicBox = "鸽子";

// 4. 再次查看
console.log(magicBox); // 输出:鸽子(兔子不见了!)

✅ 重要特性:

  1. 使用=但不写var → 只更换内容,不创造新盒子

  2. 新内容可以更换类型​:

    var myValue = "苹果";  // 文字珍珠
    myValue = 5;          // 变成数字水晶
    
  3. 旧内容立即消失 → ​盒子永远保存最近存放的物品

🔁 盒子内容交换游戏:

var boxA = "巧克力";
var boxB = "棒棒糖";

// 现在想让两个盒子交换内容...
var tempBox = boxA; // 临时盒子存巧克力
boxA = boxB;        // boxA变成棒棒糖
boxB = tempBox;     // boxB变成巧克力

console.log("boxA:", boxA); // 棒棒糖
console.log("boxB:", boxB); // 巧克力

📛 第二部分:命名艺术 - 盒子的标签规则

给变量取名就像给宠物起名字,需要遵守特殊规则:

🟢 允许使用的字符:

var userName;    // ✔ 驼峰式命名(首字母小写,后续单词首字母大写)
var _secretCode; // ✔ 下划线开头
var $element;    // ✔ 美元符号开头
var num2;        // ✔ 包含数字(不能开头)

🔴 禁止使用的名字:

var 2sister;     // ❌ 数字开头
var my-name;     // ❌ 包含横杠
var var;         // ❌ 使用保留词(如var, function等)
var 用户ID;       // ❌ 避免中文(兼容性问题)

✨ 专业命名指南:

场景

差命名

好命名

年龄

a

userAge

是否登录

flag

isLoggedIn

产品价格

product_price

productPrice

游戏最高分

max

highScore

黄金原则:​

看到变量名就知道盒子里装什么!


🛡 第三部分:永恒魔盒 - 常量 const

有些宝物需要永久封存:

// 圆周率是不可变的常数
const PI = 3.1415926; 

// 尝试更改将导致报错
PI = 3; // ❌ 浏览器会报错阻止!

📌 const 特点:

  1. 声明时必须赋值 → const PI; ❌(缺少初始化)

  2. 命名规范:全大写 + 下划线连接(视觉提醒)

  3. 适用场景:

    const MAX_USERS = 100;  // 系统最大人数
    const LOGO_COLOR = "blue"; // 品牌主色
    const API_KEY = "A1B2-C3D4"; // 安全密钥
    

⚠️ const误区澄清:

// 对于对象/数组:约束的是盒子本身,不是里面的物品
const myBox = ["苹果", "香蕉"];

myBox.push("橙子"); // ✔ 允许(修改内容)
console.log(myBox); // ["苹果", "香蕉", "橙子"]

myBox = ["西瓜"];   // ❌ 报错(尝试换盒子)

💻 综合练习:用户资料更新器

// 初始化用户数据
let userName = "小明";
let userLevel = 1;
const MAX_LEVEL = 100;

// 用户升级!
userLevel = userLevel + 1; // 升到2级

// 更名卡效果
userName = "小明Plus";

console.log("=== 新用户资料 ===");
console.log("玩家:" + userName);
console.log("等级:" + userLevel + "/" + MAX_LEVEL);

// 尝试突破等级限制?
userLevel = MAX_LEVEL + 1; // ✔ 允许(因为userLevel是let变量)

明天学什么

第五课我们将成为魔法计算家:

  • 让数字水晶互相运算

  • 文字珍珠的拼贴艺术

  • 两种宝物的转换秘诀

成长秘诀

"恰当的命名是理解代码的钥匙,清晰的赋值是掌控程序的阀门"