创建少量且属性相对固定的对象
- 选择对象字面量:对象字面量语法简洁直观,直接创建特定对象,无需定义构造函数,在这种场景下代码更清晰易读。
- 项目场景案例:例如在配置文件模块中,定义一些固定的配置对象,如网站的基本信息配置。
- 代码示例:
// 使用对象字面量定义网站基本信息配置对象
const siteConfig = {
siteName: 'My Website',
siteUrl: 'https://example.com',
description: 'This is a sample website'
};
创建大量具有相似行为和属性但有部分差异的对象
- 选择构造函数:构造函数可以通过复用相同的函数逻辑来创建多个相似对象,利用
this
关键字动态绑定属性,适合创建大量相似对象,且可以通过传递不同参数来定制对象的部分差异。在内存管理上,多个对象共享构造函数中的方法,而不是每个对象都拥有独立的方法副本,有助于内存优化。
- 项目场景案例:在游戏开发中,创建大量具有相似属性(如生命值、攻击力等)但具体数值有差异的游戏角色。
- 代码示例:
// 定义游戏角色构造函数
function GameCharacter(name, health, attack) {
this.name = name;
this.health = health;
this.attack = attack;
// 定义角色攻击方法
this.attackEnemy = function() {
console.log(this.name + ' is attacking with ' + this.attack + ' power.');
};
}
// 创建具体的游戏角色
const character1 = new GameCharacter('Warrior', 100, 20);
const character2 = new GameCharacter('Mage', 80, 30);