- 创建一个新对象,如:var person = {};
- 新对象的_proto_属性指向构造函数的原型对象。
- 将构造函数的作用域赋值给新对象。(也所以this对象指向新对象)
- 执行构造函数内部的代码,将属性添加给person中的this对象。
- 返回新对象person
// 定义一个构造函数 function Person(name, age) { this.name = name; this.age = age; } // 在原型上添加方法 Person.prototype.introduce = function() { console.log("我的名字 " + this.name + " 我的年龄 " + this.age + " 岁."); }; // 使用 new 关键字创建一个新的对象实例 var person1 = new Person("张三", 25); // 调用对象的方法 person1.introduce(); // 使用 new 关键字创建另一个新的对象实例 var person2 = new Person("李四", 30); // 调用对象的方法 person2.introduce();
定义了一个名为
Person
的构造函数。通过使用new
关键字来调用该构造函数,我们可以创建Person
类的新对象实例person1
和person2
。每个对象都具有不同的姓名和年龄,并且可以通过调用对象的introduce()
方法来介绍自己。此外,我们还通过将方法添加到
Person
构造函数的原型上,实现了方法的共享。这意味着无论创建多少个Person
对象实例,它们都可以共享相同的方法,从而提高了内存利用率。