JavaScript 创建对象的常用方式详解

宋时安
宋时安
发布时间:2026-10-13| 6人浏览过
原创

在 JavaScript 开发中,创建对象是基础且频繁的操作。根据实际需求的不同,可以选择多种方式来实现,例如使用 JSON 字面量、Object 构造函数或自定义构造函数。本文将梳理这几种常见方法的代码写法与核心逻辑,帮助你更灵活地管理数据结构。

利用 JSON 字面量创建对象

这是最简洁的方式,适合快速定义结构简单的数据对象。通过花括号 {} 声明变量后,直接添加属性和方法即可。

var company = {};
company.name = '华为';
company.address = '北京';
company.produce = function(message) {
    alert(message);
}

使用 Object 构造函数

使用 new Object() 实例化一个新对象,随后为其动态分配属性和行为。这种方式在逻辑上与 JSON 字面量类似,但强调了“实例化”的过程。

var company = new Object();
company.name = '淘宝';
company.address = '杭州';
company.produce = function(message) {
    alert(message);
}

通过自定义构造函数生成对象

当需要批量创建具有相同结构和行为的对象时,推荐使用函数模式。将属性和方法绑定到 this 上,再通过 new 关键字调用函数来生成实例。

function Company() {
    this.name = '新浪';
    this.address = '北京';
    this.produce = function(message) {
        alert(message);
    }
}
// 实际使用时需通过 var c = new Company() 生成实例

挂载到 Window 全局对象

虽然可以通过修改 window 对象来模拟创建全局属性,但这通常用于特定场景下的全局变量管理。请注意:window 代表浏览器窗口环境,随意在其上挂载业务逻辑可能会引发命名冲突或全局污染风险。

window.name = '腾讯';
window.address = '北京';
window.produce = function(message) {
    alert(message);
}

扩展知识:对象复制

在某些框架(如早期 ExtJS)或特定场景中,可能需要对现有对象进行浅复制或合并。以下是两种常见的实现思路:

1. 属性遍历合并

通过循环源对象的属性并复制到目标对象来实现拷贝,注意处理边界条件以确保安全。

emptyObject = new Object();
if (emptyObject && company && typeof company == 'object') {
    for(var p in company) {
        emptyObject[p] = company[p];
    }
}

2. 原型链复制

通过改变构造函数原型指向,间接实现对象特征的继承式复制。

var copyOO = new Function();
copyOO.prototype = company;
var newcopyOO = new copyOO();

以上就是 JavaScript 创建对象详细内容的讲解,更多关于 JavaScript 入门技巧的资料请关注本站其它相关文章!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。