大叔爱吃猕猴桃 以下是创建对象的主要方法: 1. 对象字面量(Object Literal) 定义:直接使用花括号 {} 来创建对象。 示例: const person = { name: 'John', age: 30, greet() { console.log('Hello!'); } }; 特点: 语法简洁。 适合创建简单对象或用于字面量初始化。 2. 构造函数(Constructor Function) 定义:使用函数作为构造函数来创建对象,通过 new 关键字实例化对象。 示例: function Person(name, age) { this.name = name; this.age = age; this.greet = function() { console.log('Hello!'); }; } const john = new Person('John', 30); 特点: 适用于创建具有相同结构和行为的多个对象。 使用 new 关键字实例化。 3. Object.create 方法 定义:使用 Object.create 方法创建新对象,并指定其原型对象。 示例: const personPrototype = { greet() { console.log('Hello!'); } }; const john = Object.create(personPrototype); john.name = 'John'; john.age = 30; 特点: 新创建的对象继承指定的原型对象。 可用于创建对象继承层次结构。 4. 类(Class) 定义:使用 ES6 引入的 class 语法来定义对象的构造函数和方法。 示例: class Person { constructor(name, age) { this.name = name; this.age = age; } greet() { console.log('Hello!'); } } const john = new Person('John', 30); 特点: 提供了更清晰和现代的语法来定义对象。 类的语法是构造函数的语法糖,实际底层仍然使用原型链。 5. Object 构造函数 定义:使用 Object 构造函数来创建一个空对象或从现有对象创建新对象。 示例: const person = new Object(); person.name = 'John'; person.age = 30; person.greet = function() { console.log('Hello!'); }; 特点: 与对象字面量相比,语法稍显冗长。 Object 构造函数通常不用于创建对象,更多是用于处理对象的属性。 6. 工厂函数(Factory Function) 定义:使用普通函数返回一个新对象,工厂函数可以有多个返回值并提供封装。 示例: function createPerson(name, age) { return { name: name, age: age, greet() { console.log('Hello!'); } }; } const john = createPerson('John', 30); 特点: 提供了与构造函数类似的功能,但不需要使用 new 关键字。 可以返回不同结构的对象。