← 返回目录

13. 对象创建与增删改查

变量只能装一个东西、数组只能装一排差不多的东西,而对象能装「一整套完整描述」:一只猫有名字、性别、颜色,还会跑会叫。对象 = 属性(名词:它长啥样)+ 方法(动词:它会干啥)

13.1 互动演示(对象增删改查 + . 与 [] 动态取值)

点按钮操作一个 cat 对象,亲眼看增删改查和 . / [] 的区别。

13.2 知识点逐条讲解(配合代码)

① 两种做对象的方式

// 方式1:花括号(开发首选,一口气写完)
let cat = {
    name: "小桔子",        // 属性:名字
    sex: "公猫",           // 属性:性别
    speed: function () { console.log("每小时跑50km"); }  // 方法:会跑
};

// 方式2:先空壳,再一行行加点填
let cat = new Object();
cat.name = "小桔子";       // 加个名字
cat.sound = function () { console.log("喵喵"); };  // 加个会叫

	

② 取值:点 . 和方括号 [] 的区别

写法什么时候用
cat.name(点)名字固定、好认,最常用
cat["name"]([])名字存在变量里、或带空格/横杠时用
let key = "color";          // key里装着名字"color"
console.log(cat[key]);     // 按变量里的名字去取
console.log(cat["sex"]);   // 方括号里直接写字符串也行
// 带横杠的名字必须用方括号
let p = { "home-address": "北京" };
console.log(p["home-address"]);  // 点语法会报错

	

③ 增删改查

let cat = { name: "小桔子" };
console.log(cat.name);   // 查:读出名字
cat.age = 2;             // 加:原本没有age,赋值就加上了
cat.name = "大桔子";      // 改:名字重新赋值
delete cat.age;          // 删:用 delete 关键字整项拿掉

	

属性 vs 方法别搞混:存普通数据叫属性,存函数叫方法。它们单独放是变量/函数,装进对象里就改名叫属性/方法了。

⑥ X.3 实战:用在哪 / 常见坑 / 怎么解决

① 用在哪:商品信息、用户资料、配置项——都是一个对象装一整套描述。

② 常见坑:属性名带横杠却用 语法;动态取属性写成 cat.key 取了字面量 "key"。

③ 怎么解决:动态/特殊名一律 cat[key];删除用 delete cat.age

一句话记住:对象=属性+方法;开发用花括号 {};固定名字用点 .,动态/带横杠用 [] 且要加引号;加/改直接赋值,删用 delete