什么是原型
在JavaScript中可以说万物皆对象,几乎每一个复杂数据类型都是对象构建。在实际上每一个构造函数都有一个名为 prototype
的属性,译成中文是原型的意思,prototype
的是对象类据类型,称为构造函数的原型对象,每个原型对象都具有 constructor
属性代表了该原型对象对应的构造函数。
原型的作用
在原型对象中封装了很多原型方法可以使用,列如当我们创建一个数组那么它的构造函数就是new Array 就可以使用其原型方法比如遍历,删除添加等这都是prototype
的属性的作用。
当我们创建一个构造函数时,在构造函数的原型中添加一个方法,那么所有被构造出来的对象都可以使用这个方法。
function Person() {
// 此处定义同名方法 sayHi
this.sayHi = function () {
console.log('嗨!');
}
}
let p1 = new Person();
p1.sayHi(); // 输出结果为 嗨!
let p2 = new Person();
p2.sayHi(); // 输出结果为 嗨!