构造函数

1.构造函数有什么用?

当你需要大批量的写对象的时候,就需要用到构造函数,它可以方便创建多个对象的实例,并且创建的对象可以被标识为特定的类型,可以通过继承扩展代码

2.构造函数的特点

a:构造函数的首字母必须大写,用来区分于普通函数
b:内部使用的this对象,来指向即将要生成的实例对象
c:使用New来生成实例对象

3.构造函数内部原理

1.在函数体最前面隐式的加上this={};
2.执行this.xxx = xxx;
3.隐式的返回this

首先创建一个简单的构造函数

////创建一个构造函数
function Car(){
    this.name='BWM';
    this.height ='1500';
    this.lang ='5000';
    this.weight = 1000;
    this.health = 100;
    this.run = function(){
        this.health--;
    }
}
//实例化一个Car
var car = new Car();
var car1 = new Car();
car.run();
car.name='';
console.log(car);
console.log(car1)

打印结果:


image.png

构造函数内部原理

//var person1 = new person();//有new就生成对象


function Student(name,age,sex){
    //var this={} 在函数体最前面隐式的加上this={};
    this.name = name;
    this.age = age;
    this.sex = sex;
    //return this 隐式的返回this
}
var  student = new Student('zhangsan',10,'male')



//内部原理
function Person(name,height){
    var that = {};
    that.name = name;
    that.height = height;
    return that
}
var person = Person('张三',165);
console.log(person)

你可能感兴趣的:(构造函数)