最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

解析Javascript中创建对象的四种方式

来源:懂视网 责编:小采 时间:2020-11-27 20:23:16
文档

解析Javascript中创建对象的四种方式

解析Javascript中创建对象的四种方式:前言使用Javascript创建对象的方式有很多,现在就来列举一下其中的四种方式,并且罗列出了每种方式的优缺点,可以让大家进行选择使用,下面来看看。工厂模式function createPerson(name, age){ var obj = new Object(); obj.name =
推荐度:
导读解析Javascript中创建对象的四种方式:前言使用Javascript创建对象的方式有很多,现在就来列举一下其中的四种方式,并且罗列出了每种方式的优缺点,可以让大家进行选择使用,下面来看看。工厂模式function createPerson(name, age){ var obj = new Object(); obj.name =

前言

使用Javascript创建对象的方式有很多,现在就来列举一下其中的四种方式,并且罗列出了每种方式的优缺点,可以让大家进行选择使用,下面来看看。

工厂模式

优点:工厂模式可以解决创建多个相似对象

缺点:没有解决对象识别问题(怎样确定一个对象的类型)

构造函数模式

在说优缺点之前,先来说说她本身的一点小故事吧

将构造函数当做函数使用

构造函数优缺点

优点:可以将它的实例标识为一种特定类型

缺点:每个方法都要在每个实例上重新创建一遍。当然你也可以这样改:


改为调用全局函数,这样一来毫无封装性可言。。接下来的原型模式可以弥补这个的不足

原型模式

虽然可以通过对象实例访问保存在原型中的值,但却不能通过实例对象重写原型中的值

在我们调用

person1.sayName

的时候,会先后执行两次搜索,解析器先确定实例person1是否有

sayName

的属性,有则调用自己的属性,没有则搜索原型中的属性。

使用

hasOwnPropertyType

方法可以检测一个属性是存在与原型中还是存在于实例中,该方法是从Object继承来的,实例中为true,原型中为false。

枚举对象上的实例属性用

Object.keys()

方法

原型模式优缺点

优点:不用每个方法都要在每个实例上重申一遍

缺点:很少有人单独使用原型模式地。问题详列

正是因为实例一般都要有自己的属性,而我们这里将他放在了

Person.prototype

中,所以随着p1的修改,整个实例包括原型都修改了。那么,我们可以组合使用构造函数模式和原型模式。

组合使用构造函数模式和原型模式

这种模式是目前使用最广泛、认同度最高的一种创建自定义类型的方法。是用来定义引用类型的一种默认模式。

总结

文档

解析Javascript中创建对象的四种方式

解析Javascript中创建对象的四种方式:前言使用Javascript创建对象的方式有很多,现在就来列举一下其中的四种方式,并且罗列出了每种方式的优缺点,可以让大家进行选择使用,下面来看看。工厂模式function createPerson(name, age){ var obj = new Object(); obj.name =
推荐度:
标签: js 方式 javascript
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top