JavaScript 对象基础笔记
一、对象的创建方式2种核心1. 构造函数方式new Object()语法let 对象名 new Object();说明创建一个空对象需后期手动添加属性和方法。示例let obj1 new Object(); // 空对象2. 字面量方式推荐语法let 对象名 {};说明底层依然调用 new Object()写法更简洁可创建时直接定义属性/方法。示例1空对象let obj2 {};示例2带属性let obj3 { name: tina, age: 18 };二、对象属性的操作4种核心操作核心无论哪种创建方式都可后期添加、修改、删除、读取属性。1. 添加属性2种语法语法1对象.属性名 属性值最常用示例obj1.name jack; // 给obj1添加name属性值为jackobj3.address 合肥; // 给已创建的obj3后期添加address属性语法2对象[属性名] 属性值需注意引号注意属性名需为字符串类型纯数字可省略引号。示例obj3[name] dana; // 给obj3添加name属性2. 修改属性语法对象.属性名 新值 / 对象[属性名] 新值规则若对象中已有该属性就是修改若没有就是新增。示例obj3.name tim; // 修改obj3的name属性值为tim3. 删除属性语法delete 对象.属性名 / delete 对象[属性名]示例delete obj3.name; // 删除obj3的name属性4. 读取属性语法对象.属性名 / 对象[属性名]注意读取对象中不存在的属性不会报错返回 undefined。示例console.log(obj3.gender); // 读取存在的属性返回对应值console.log(obj3.abc); // 读取不存在的属性返回 undefined三、必须使用 [] 操作属性的2种情况重点易错1. 属性名包含特殊字符如数字、、-等示例obj3[123] 456; // 属性名是纯数字需用[]obj3[abc123] test; // 属性名含需用[]2. 属性名是变量动态属性名说明属性名由变量决定此时不能用.语法也不能给变量加引号。示例let att prompt(请输入属性名); // 变量att存储用户输入的属性名obj3[att] 456; // 用变量作为属性名添加属性四、练习题巩固应用需求完成对象的创建、添加、读取、修改、删除操作用new Object()创建对象obj给obj添加name、gender、age三个属性读取并输出obj的name属性将obj的name属性修改为jack删除obj的age属性。答案let obj new Object(); // 1. 创建对象obj.name 张三; obj.gender 男; obj.age 20; // 2. 添加属性console.log(obj.name); // 3. 读取属性obj.name jack; // 4. 修改属性delete obj.age; // 5. 删除属性五、核心记忆点创建对象new Object() 或 {}字面量优先属性操作新增/修改赋值、删除delete、读取.或[][]语法的特殊用途特殊字符属性名、变量属性名读取不存在的属性 → 返回 undefined。