一. 构造函数
构造函数是一种特殊的函数,主要是用来初始化对象,总是与new一起使用,我们可以把对象中一些公共的属性和方法抽取出来,然后封装到这个函数里面。
构造函数方法虽然很好用,每创建一个对象,都需要开辟新的内存空间。存在浪费内存的问题。
我们希望所有的对象使用同一个函数,这样比较节省内存,因此我们接着往下看...
二. 构造函数原型 prototype
每一个构造函数都有一个prototype属性,指向另一个对象,这个prototype就是一个对象,这个对象的所有的属性和方法,都会被构造函数所拥有。我们可以把不变的方法,直接定义在prototype对象上,这样所有的对象的实例就可以共享这些方法。
<script>
function Star(name,age){
this.name=name;
this.age=age;
}
Star.prototype.sing=function(){
console.log("我会唱歌");
}
var ldh=new Star("ldh",50);
ldh.sing();
</script>
(一般情况下,我们把公共属性定义到构造函数里面,公共的方法定义到我们原型对象上。)