function Person(name,age) {//构造函数与普通函数最大的区别是调用方式的不同,通过new关键字调用。构造函数一般使用大写。
this.name = name;
this.myfunc = Person.prototype.func;
}
Person.prototype.func = function() {//因为每创建一个实例对象都会分配一块内存空间,如果将函数定义在构造函数内,那么有多少个实例就会创建多少个函数。所以将func写在类的原型上
//可以将共有的属性和方法都添加到原型上。所有的实例都能访问
console.log('大家好,我是:'+this.name);//this指向调用函数的对象。所以这里不用传参,就可以通过this访问到实例的name属性
}
const per1 = new Person('小红',18);//new Person类后会自动创建一个实例对象,并将该实例对象赋给this。即构造函数内的this === per1
const per2 = new Person('小绿',28);