JavaScript创建对象最常用构造函数和字面量:字面量适合一次性简单对象,语法简洁但方法不共享;构造函数支持批量实例化、原型继承与方法复用,适用于多对象场景。

JavaScript中创建对象最常用的是构造函数和字面量两种方式,核心区别在于:字面量更简洁、适合一次性简单对象;构造函数更适合批量创建结构相同、带方法的实例,且天然支持原型继承。
对象字面量:简单直接,适合静态数据
用 {} 直接定义,语法短、可读性强,所有属性和方法都写在大括号里。它本质是调用 Object() 构造函数的语法糖,每次都是独立的新对象,彼此不共享方法或状态。
例如:
const user = {
name: “张三”,
age: 25,
greet() { return `你好,我是${this.name}`; }
};
注意:如果多个字面量对象都有同名方法(比如都写了 greet),这些方法会各自占用内存,无法复用。
立即学习“Java免费学习笔记(深入)”;
构造函数:可复用、支持实例化与原型扩展
用 function 定义,配合 new 调用,能批量生成结构一致的对象。关键优势是方法可以挂载到 prototype 上,所有实例共享同一份方法,节省内存。
例如:
function User(name, age) {
this.name = name;
this.age = age;
}
User.prototype.greet = function() {
return `你好,我是${this.name}`;
};
const u1 = new User(“李四”, 30);
const u2 = new User(“王五”, 28);
这样 u1 和 u2 共享同一个 greet 方法,不是各自拷贝一份。
实际选哪个?看使用场景
只建一个对象,或者配置项、API响应数据这类临时结构 → 优先用字面量 需要创建多个同类对象(如用户列表、DOM节点封装)→ 用构造函数(或现代替代方案 class) 要动态添加共用行为、做继承、或配合 instanceof 判断类型 → 构造函数更合适 想避免 this 绑定问题或追求更清晰语义 → 可考虑 class 语法(本质仍是构造函数)
补充:箭头函数不能当构造函数
箭头函数没有 prototype,也不绑定 this,所以不能用 new 调用。试图这样做会直接报错:TypeError: xxx is not a constructor。构造函数必须是传统 function 声明或 class。
基本上就这些。不复杂但容易忽略细节:字面量方便,构造函数管“批量”和“复用”。按需选择就行。
以上就是JavaScript中如何创建对象_构造函数和字面量的区别的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1541113.html
微信扫一扫
支付宝扫一扫