一个普通的函数被用于创建一个类对象时,它就被称作构造函数,或者构造器。(为方便理解,你可以将JavaScript中构造器的创建理解为其他语言中的类的创建,目的就是利用它通过new来实列一个对象)
特点:
1.在书写规范上,我们习惯将他名称的首字母大写。
2.通过new来创建一个对象。
3.无需在内写入return也会有返回值,而且返回的时一个对象。
function Me(name,age) { //创建构造函数。
this.name = name;
this.eat() {
console.log("哎妈呀,真香哈!"); //它里面处处是this。this指向它的对象。
}
}
var me = new Me(); //实列对象。
其实构造器还有一个好处,因为构造器没创建一个实列对象时,都会在堆当中开辟一个新的空间,但是在开辟两个新空间当中些时候存在相同的属性,比如两个实列对象里的eat都是一样的,从而造成内存上面的浪费,于是乎,我们可以利用JavaScript的原型链来解决。
Me.prototype.eat = function() {
console.log("哎妈呀,真香哈!");
}
这样吧相同的eat提出来。构造器实列的两个至多个的实列对象,他们都有相同的eat(即为共享一个eat,而非每个实列都单独有一个。)
构造函数都会被constructor指向,比如实列对象里的和原型里的。
/下期预告原型链。新人发帖,内容手码,难免有错,哪里不对的话还请多多指教。不胜感激。/