function People(name) {
this.name = name;
}
People.prototype.sayName = function () {
console.log(`my name is ${this.name}`);
}
var p = new People("Googler");
p.sayName();
// 当new一个函数时,发生了什么
// 1.创建一个空对象,把一个空的对象的__proto__属性设置为People.prototype。
// 2.执行函数People,函数里面的this代表刚刚创建的新对象。
// 3.返回这个对象。
// 注:对于第3步,如果构造函数里有return,分情况讨论。如果是return的是基本类型,会忽略不计。如果return的是引用类型,则返回这个引用类型。
原型图
prototype.png注:任何函数都有prototype这个属性,对应的值是一个对象叫原型对象,这个原型对象可以被由这个函数new的所有对象共享。
结束语
如果喜欢本文,记得点赞并加关注哟。
网友评论