手机版

详细解释在Javascript中new()有什么作用?

时间:2021-08-31 来源:互联网 编辑:宝哥软件园 浏览:

前言

像其他高级语言一样,javascript也有新的操作符。我们知道新的操作符用于实例化一个类,从而在内存中分配一个实例对象。但是在javascript中,一切都是对象,那么为什么要通过new创建对象呢?本文将带您探索javascript中的新奥秘.

要创建人员的新实例,必须使用新运算符。

以这种方式调用构造函数实际上会经历以下四个步骤:

(1)创建新对象;

(2)将构造函数的范围分配给新对象(因此这指向这个新对象);

(3)执行构造函数中的代码(给这个新对象添加属性);

(4)返回新对象。

新操作员

在介绍了上述基本概念并添加了新的操作符之后,我们可以用传统的面向对象类的新方式创建对象。在JavaScript中,我们称这种方式为伪经典。

基于上面的例子,我们执行以下代码

var obj=new Base();这段代码的结果是什么?我们在Javascript引擎中看到的对象模型是:

新接线员到底做了什么?其实很简单。我做了三件事。

var obj={ };物体。__原型_ _ _=基础.原型;base . call(obj);在第一行,我们创建了一个空的对象obj

在第二行中,我们将这个空对象的__proto__成员指向Base函数对象的原型成员对象

在第三行中,我们用obj替换base函数对象的这个指针,然后调用Base函数,所以我们给obj对象分配一个id成员变量,这个成员变量的值是“Base”。

如果我们给Base.prototype对象添加一些函数会发生什么?

例如,代码如下:

base . prototype . ToString=function(){ return this . id;}然后当我们使用new创建一个新的对象时,根据__proto__的特性,toString方法也可以作为一个新的对象方法来访问。所以我们看到:

在构造函数中,我们设置了‘class’的成员变量(例如,示例中的id),在构造函数原型中,我们设置了‘class’的公共方法。然后,通过函数对象、原型成员和新操作符来模拟类和类实例化的效果。

摘要

以上就是本文的全部内容。希望本文的内容对大家的学习或工作有一定的参考价值。有问题可以留言交流。谢谢你的支持。

版权声明:详细解释在Javascript中new()有什么作用?是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。