什么是构造函数?
构造函数也被叫做构造器(constructor),通常是我们创建对象时调用的函数,在其他面向的编程语言里面,构造函数是存在于类中的一个方法,称之为构造方法,但是JavaScript中的构造函数有点不太一样;
在js中构造函数其实表现形式上也是一个函数,和其他普通的函数没什么区别,但是我们一般定义了一个构造函数不会和普通函数一样直接去调用它,而是通过new
去创建基于这个构造函数的一个实例对象,这个实例对象中的__proto__
会通过this
从而去拥有构造函数中prototype
的属性
这里有一个规范:一般我们给构造函数命名首字母大小(大驼峰方式)进行命名
ps:只有函数才会prototype
这个属性
示例
function People (name, age) {
this.name = name;
this.age = age;
this.sayHello = function () {
console.log('hello, my name is ' + this.name);
}
}
var people = new People('mahk', 18);
console.log(people.__proto__ === People.prototype); // true
console.log(people.age); // 18
people.sayHello(); // hello, my name is mahk
People.prototype.getAge = function () {
return this.age;
}
console.log(people.getAge()); // 18