详细解释在Javascript中new()有什么作用?
前言
像其他高级语言一样,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或者邮箱删除。