PHP前端开发

前端new操作符做了什么

百变鹏仔 2个月前 (10-30) #前端问答
文章标签 操作
前端new操作符创建了一个新的对象例。具体步骤:1、创建一个空的简单javascript对象;2、将这个空对象的“__proto__”属性指向构造函数的原型对象;3、将构造函数内部的this关键字指向这个新创建的空对象;4、执行构造函数内部的代码,为这个新对象添加属性和方法;5、如果构造函数返回了一个对象,则返回这个对象,否则返回这个新创建的对象等等。

本教程操作系统:Windows10系统、Dell G3电脑。

在前开发中,new操作符是用来创建一个新的对象例的。当使用new操作符时,它会执行以下几个步骤:

  1. 创建一个空的简单JavaScript对象(即{})。

  2. 将这个空对象的__proto__属性指向构造函数的原型对象。

    立即学习“前端免费学习笔记(深入)”;

  3. 将构造函数内部的this关键字指向这个新创建的空对象。

  4. 执行构造函数内部的代码,为这个新对象添加属性和方法。

  5. 如果构造函数返回了一个对象,则返回这个对象;否则返回这个新创建的对象。

下面我们来详细分析一下这个过程:

创建一个空的简单JavaScript对象:这个空对象将会成为将要创建的实例对象。这个对象会继承构造函数的原型对象上的属性和方法。

将这个空对象的__proto__属性指向构造函数的原型对象:原型对象是一个包含可继承属性和方法的对象。在JavaScript中,每个函数都有一个prototype属性,指向它的原型对象。当我们使用new操作符创建一个对象时,这个新对象的__proto__属性就会指向构造函数的原型对象。

将构造函数内部的this关键字指向这个新创建的空对象:在构造函数内部,通过使用this关键字,我们可以向这个新对象添加属性和方法。this关键字在这里指代了当前正在创建的实例对象。

执行构造函数内部的代码,为这个新对象添加属性和方法:在构造函数内部,我们可以向这个新对象添加属性和方法,以便将其初始化为我们想要的状态。

如果构造函数返回了一个对象,则返回这个对象;否则返回这个新创建的对象:如果构造函数内部有返回语句,并且返回的是一个对象,则返回这个对象;否则返回刚刚创建的新对象。这意味着我们可以在构造函数内部返回一个自定义的对象,而不一定是this所指向的对象。

使用new操作符创建一个对象实例时,我们会创建一个空对象,并将它的__proto__属性指向构造函数的原型对象。然后,构造函数内部的代码会被执行,以便向这个新对象添加属性和方法。最后,如果构造函数内部有返回语句,则返回指定的对象;否则返回这个新创建的对象。这样,我们就可以使用构造函数来创建多个实例对象,它们都可以共享构造函数的原型对象上的属性和方法。