JavaScript 创建对象的七种方式详解

作者:半夏时间:2026-10-23 09:58:54浏览:538

本文总结了JavaScript中创建对象的七种常见方式,包括使用Object构造函数、字面量、构造函数模式、原型模式以及混合模式等。重点解析了推荐的混合模式,通过分离实例属性与共享方法,有效节省内存空间并提升对象创建效率。

JavaScript 创建对象概述

本文详细介绍JavaScript中面向对象创建对象的多种实现方式,供读者参考学习。

Object构造函数与字面量方式

第一种方式是利用内置的Object对象进行创建,随后通过点语法动态地为该对象添加属性和方法。


var o1 = new Object();
o1.name = 'Tom';
o1.sing = function() {
 console.log('I am singing');
}

第二种方式采用JSON字面量的形式来直接定义对象。


var o2 = {
 "name":"jackson",
 "age":"10",
 "say":function(){
  console.log("say hi");
 };
};

构造函数与原型模式

第三种方式是通过构造函数模式来创建对象。


var o3 = function() {
 this.name = "Lucy",
 this.age = "10",
 this.say = function() {
  console.log("say hello");
 }
}

第四种方式是利用原型(prototype)机制来创建对象。


var o4 = function() {}
o4.prototype = {
 "name":"Taylor",
 "age":10,
 "say":function(){
  console.log("say h1");
 }
}

混合模式(推荐)

第五种方式是将原型与构造函数结合使用的混合模式(推荐)。这种模式的优势在于尽量将方法定义在原型上,从而避免每次调用构造函数时重复创建属性或方法,有效节省内存空间并加快对象创建速度。


var o5 = function() {
 this.name = 'James';
 this.age = 10;
}
o5.prototype = {
 "say":function() {
   console.log("say hi");
 }
}

拷贝模式与第三方库

第六种方式是采用拷贝模式来创建对象。


// 先要有一个拷贝模块
function extend(target,source){
 for(var k in source){
  target[k] = source[k];
 }
 return target;
};
var o6 = {
 "name":"o6",
 "age":10
}
var o7 = {
 "say":function() {
  console.log('say hi');
 }
}
// o6拷贝o7的方法,然后构建成一个新的对象
var o8 = extend(o6,o7);
o8.say(); // say hi

第七种方式是通过引入第三方库来辅助创建对象。

有 base2.js 和 simplejavascriptinheritance.js 来实现, 网上有资料。

感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:http://tools.jb51.net/code/HtmlJsRun测试上述代码运行效果。

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《javascript面向对象入门教程》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》

希望本文所述对大家JavaScript程序设计有所帮助。

作者最新文章