• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

js创建对象的5种方法

武飞扬头像
Jiang_JY
帮助1

1、Object构造函数模式

所谓 Object 构造函数就是将 Object 作为构造函数,先创建一个空的 Object 对象,再动态添加属性或者方法。

//创建 Object 对象
var p = new Object()

//动态添加属性和方法
p.name = 'Tom'
p.age = 18
p.setName = function(name){
	this.name = name 
}

适用场景: 起始时不确定对象内部数据。
问题: 语句太多。

2、对象字面量模式

这是日常中最常用到的方法,使用 {} 创建对象,同时指定属性和方法。

var p = {
	name = 'Tom'
	age = 18
	setName: function(name){
		this.name = name
	}
}

适用场景: 起始时对象内部数据是确定的。
问题: 创建多个对象时,会产生重复代码。

3、工厂模式

通过工厂函数动态创建对象并返回。

function createPerson(name,age){
	var obj = {
		name: name,
		age: age,
		setName: function(name){
		this.name = name
		}
	}
	return obj
}

var p1 = createPerson('Tom',18)

适用场景: 需要创建多个对象。
问题: 对象没有一个具体的类型,都是Object类型。

4、自定义构造函数模式

与object构造函数模式类似,通过自定义一个构造函数,再进行new操作创建对象

function Person(name, age){
	this.name = name
	this.age = age
	this.setName = function(name){
		this.name = name
	}
}

var p1 = new Person('Tom',18)

适用场景: 需要创建多个类型确定的对象。
问题: 每个对象都有相同的数据,浪费内存。

5、构造函数 原型的组合模式

自定义构造函数,属性在函函数中初始化,方法添加到原型上。

function Person(name, age){
	this.name = name
	this.age = age
}

Person.prototype.setName = function(name){
	this.name = name
}

var p1 = new Person('Tom',18)

适用场景: 需要创建多个类型确定的对象。

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgkacga
系列文章
更多 icon
同类精品
更多 icon
继续加载