JavaScript中四种常用类定义方式解析

作者:拾光时间:2026-10-30 08:36:40浏览:230

本文详细解析JavaScript中四种常用的类定义方法,包括对象直接量、函数对象(构造函数)、原型继承以及工厂模式。通过具体代码示例对比各方法的实现细节与适用场景,帮助开发者根据实际需求选择最合适的对象创建策略,提升代码的可维护性与复用性。

对象直接量定义法

第一种方式是利用对象直接量(Object Literal)来创建对象。这种方式简洁直观,适合定义单个对象或静态数据结构。


var obj1 = {
 v1 : "",
 get_v1 : function() {
  return this.v1;
 },
 set_v1 : function(v) {
  this.v1 = v;
 }
};

构造函数定义法

第二种方式是通过定义函数对象(即构造函数)来创建类。在函数内部定义私有变量和公共方法,通过this关键字暴露属性和方法,实例化时使用new关键字。


var Obj = function() {
 var v1 = "";
 this.get_v1 = function() {
  return this.v1;
 };
 this.set_v1 = function(v) {
  this.v1 = v;
 }
};

原型继承定义法

第三种方式采用原型继承(Prototype Inheritance)。通过修改构造函数的prototype属性,将属性和方法添加到原型对象上,从而实现共享,节省内存空间。


var Obj3 = new Function();
Obj3.prototype = {
 v1 : "",
 get_v1 : function() {
  return this.v1;
 },
 set_v1 : function(v) {
  this.v1 = v;
 }
};

工厂模式定义法

第四种方式是工厂模式(Factory Pattern)。通过一个函数来创建对象,在函数内部定义并返回新对象,封装了创建对象的细节,便于统一管理对象的初始化过程。


function loadObj() {
 var tmp = new Object();
 tmp.v1 = "";
 tmp.get_v1 = function() {
  return tmp.v1;
 };
 tmp.set_v1 = function(v) {
  tmp.v1 = v;
 };
 return tmp;
}

obj1.set_v1('hello1');
alert(obj1.get_v1());

var obj2 = new Obj();
obj2.set_v1('hello2');
alert(obj2.get_v1());

var obj3 = new Obj();
obj3.set_v1('hello3');
alert(obj3.get_v1());

var obj4 = loadObj();
obj4.set_v1('hello4');
alert(obj4.get_v1());

alert(obj1);
alert(obj2);
alert(obj3);
alert(obj4);

总结与建议

上述内容总结了JavaScript中几种常见的类定义技巧,旨在为开发者提供实用的参考。希望这些方法能帮助大家在实际开发中更高效地构建和管理对象,欢迎持续关注以获取更多技术分享。

作者最新文章