prototype:原型对象,是函数(构造函数)对象的一个属性,它保存着所有实例化对象共享的函数或者属性
目的:当一个类被调用多次时会每次都开辟出不同的空间,当这些实例化出来的函数之间存在有相同的属性或者函数的化可以直接使用prototype进行指向,不必重新开辟空间。
示例代码:
function Student(id, name) { //使用ES5方法构建的类
this.id = id;
this.name = name;
}
Student.prototype.study = function() { //定义共享类
console.log(this.name + ":study");
}
let s1 = new Student(1, "菜徐坤");
let s2 = new Student(2, "蒋帅");
s1.study();
s2.study();