JavaScript中创建对象有四种主要方式:1. 对象字面量用于创建单个简单对象,语法简洁;2. 构造函数适合生成多个相同结构的实例,但方法重复影响性能;3. class语法是es6的语法糖,结构清晰,支持继承,适用于复杂应用;4. Object.create()基于现有对象创建新对象,精确控制原型链;此外,对象可动态添加属性和方法。根据场景选择合适方式可提升代码可维护性。

JavaScript 中的对象是语言的核心特性之一,用于存储键值对和更复杂的实体。创建和初始化对象的方式多种多样,每种方式适用于不同的场景。掌握这些方法能帮助开发者写出更清晰、高效的代码。
使用对象字面量创建对象
这是最简单、最常见的创建对象的方式。通过花括号 {} 定义一个新对象,并直接添加属性和方法。
示例:
   let user = {
     name: “Alice”,
     age: 25,
     greet: function() {
       console.log(“Hello, I’m ” + this.name);
     }
};
   user.greet(); // 输出: Hello, I’m Alice 
对象字面量适合创建单个对象,语法简洁直观,推荐在不需要复用结构时使用。
使用构造函数创建对象
当你需要创建多个具有相同结构的对象时,可以使用构造函数。通过 function 定义一个模板,然后用 new 关键字实例化。
立即学习“Java免费学习笔记(深入)”;
示例:
   function Person(name, age) {
     this.name = name;
     this.age = age;
     this.greet = function() {
       console.log(“Hi, I’m ” + this.name);
     };
}
let p1 = new Person(“Bob”, 30);
let p2 = new Person(“Tom”, 28);
   p1.greet(); // 输出: Hi, I’m Bob 
每次使用 new 调用构造函数都会创建一个新实例。注意,每个实例都会重新创建方法,可能影响性能。
使用 class 语法创建对象
ES6 引入了 class 语法,让面向对象编程更清晰。它本质上是构造函数的语法糖,但结构更易读。
示例:
   class Car {
     constructor(brand, year) {
       this.brand = brand;
       this.year = year;
     }
     start() {
       console.log(this.brand + ” is starting…”);
     }
}
let myCar = new Car(“Toyota”, 2022);
   myCar.start(); // 输出: Toyota is starting… 
class 的写法更接近传统编程语言,支持继承、静态方法等高级特性,适合复杂应用开发。
使用 Object.create() 创建对象
如果你想基于一个现有对象创建新对象,可以使用 Object.create()。它能直接指定原型,实现更灵活的继承控制。
示例:
   let animal = {
     eats: true,
     displayInfo: function() {
       console.log(“Eats: ” + this.eats);
     }
};
let rabbit = Object.create(animal);
   rabbit.jumps = true;
   rabbit.displayInfo(); // 输出: Eats: true 
这种方式强调原型继承,适合需要精确控制对象原型链的场景。
动态添加属性和方法
JavaScript 对象是动态的,可以在创建后随时添加或修改属性和方法。
示例:
   let obj = {};
   obj.name = “John”;
   obj.sayHello = function() {
     console.log(“Hello!”);
   };
   obj.sayHello(); 
也可以使用方括号添加带特殊字符的属性名:
obj[“full name”] = “John Doe”; 
基本上就这些。根据需求选择合适的方式:字面量适合简单对象,构造函数和 class 适合复用结构,Object.create() 适合原型操作。理解它们的区别和适用场景,能让代码更规范、可维护性更强。