龙空技术网

JavaScript要想学会面向对象编程,首先要学会如何去创建一个对象

小郑搞码事 983

前言:

目前大家对“js面向对象”可能比较关心,各位老铁们都想要了解一些“js面向对象”的相关资讯。那么小编也在网摘上收集了一些有关“js面向对象””的相关内容,希望我们能喜欢,朋友们快快来了解一下吧!

点击上方蓝字关注“小郑搞码事”,每天都能学到知识,搞懂一个问题!

今天,我直截了当的总结一下在JavaScript这门语言中,提供的一些创建对象的方式所具备的优势和问题。

一、创建一个对象

如下代码:

输出:小郑搞码事

利用内置的Object对象,当然,也可以用字面量的方式。很好理解

二、工厂模式创建

如下代码:

输出:小郑

输出:小郑搞码事

用工厂模式来生产对象。总比每需要一个对象都要去创建要好(关键是对象的每个属性都要创建)。工厂模式解决了创建多个相似对象的问题,但却没有解决对象识别的问题(即怎样知道一个对象的类型)。这个时候就出现了下面的构造函数模式。

三、构造函数模式创建

如下代码:

输出:小郑

输出:小郑搞码事

然而,构造函数模式虽然好用,但也有缺点,就是使用构造函数时,每个方法都要在每个实例上重新创建一遍。所以又现了下面这种原型模式。

四、原型模式创建

如下代码:

原型模式的问题是:它省略了为构造函数传递初始化参数这一环节。结果所有实例在默认情况下都取得了相同的属性值。所以出现了下面这种组合模式。

五、组合模式创建(构造函数+原型)

如下代码:

输出:小郑搞码事

组合模式汇集了构造函数模式和原型模式的优点,也是现在经常使用的一种创建对象的形式。

总结一下:

JavaScript要想学会面向对象编程,首先要学会如何去创建一个对象,然后就理解继承的方式。

标签: #js面向对象