JavaScript对象是存储键值对的动态引用类型实体,具备属性和方法;可通过字面量、构造函数或class创建;支持点号/方括号访问与修改属性;常用遍历方法包括for...in、Object.keys/values/entries;需注意对象无序性及浅深拷贝差异。

JavaScript 对象是存储键值对(key-value)的容器,用来表示现实世界中的事物或数据结构,比如用户信息、配置项、DOM 元素等。它不是简单的数据集合,而是具备属性(property)和方法(method)的动态实体。
对象的基本特征
对象是引用类型,多个变量可以指向同一个对象,修改其中一处会影响所有引用;对象的属性名默认是字符串(也可用 Symbol),值可以是任意类型,包括函数(此时叫方法)。
创建对象的常用方式
字面量语法(最常用):简洁直观,适合一次性定义简单对象。
let user = { name: "张三", age: 25, sayHello: function() { console.log("你好"); } };
立即学习“Java免费学习笔记(深入)”;
构造函数方式:适合需要复用结构、批量创建同类对象的场景。
动态WEB网站中的PHP和MySQL详细反映实际程序的需求,仔细地探讨外部数据的验证(例如信用卡卡号的格式)、用户登录以及如何使用模板建立网页的标准外观。动态WEB网站中的PHP和MySQL的内容不仅仅是这些。书中还提到如何串联JavaScript与PHP让用户操作时更快、更方便。还有正确处理用户输入错误的方法,让网站看起来更专业。另外还引入大量来自PEAR外挂函数库的强大功能,对常用的、强大的包
let person = new Object();
person.name = "李四";
person.age = 30;
使用 class(ES6+):更接近传统面向对象写法,适合复杂逻辑封装。
class Car {
constructor(brand, year) {
this.brand = brand;
this.year = year;
}
start() { console.log(this.brand + " 启动了"); }
}
let myCar = new Car("Toyota", 2022);
访问和修改对象属性
- 点号访问(.):适用于属性名是合法标识符且已知的情况,如 user.name
- 方括号访问([]):支持动态属性名、含空格或特殊字符的键,如 user["full name"] 或 user[propertyName]
- 添加新属性:直接赋值,如 user.city = "北京"
- 删除属性:用 delete user.age(慎用,性能略低)
遍历与检测对象
常用方法有:
- for...in:遍历自身及原型链上可枚举的属性(注意加 hasOwnProperty 过滤)
- Object.keys(obj):返回自身可枚举属性名数组
- Object.values(obj):返回自身可枚举属性值数组
- Object.entries(obj):返回 [key, value] 数组,适合解构或循环
- 判断是否为对象:obj !== null && typeof obj === 'object' && !Array.isArray(obj)
不复杂但容易忽略
对象本质是无序键值对集合(ES2015 起,整数键按数字顺序,其余按插入顺序),属性名会被自动转为字符串;浅拷贝用 Object.assign({}, obj) 或展开运算符 {...obj};深拷贝需借助 JSON 方法(限制多)或结构化克隆(structuredClone)等方案。










