【JavaScript】构造函数

2019-01-23  本文已影响0人  level

什么是构造函数

1、构造函数首字母大写(不是必须,但是还是要按照规范首字母大写)
2、用this来构造它的属性以及方法
3、需要使用new关键字来调用,普通函数直接调用

function Person(name, age){
    this.name = name;
    this.age = function(){
        return age;
    }
}

//构造函数使用
let person = new Person('a', 10);//this指向person,在new关键字调用时会创建一个新的空间,每当创建实例时函数体内部this都会指向当前
console.log(person);//构造函数会马上创建一个新对象,并将该新对象作为返回值返回

//普通函数使用
let person = Person('b', 20);//this指向window
console.log(person);//没有返回值,所以为undefined

执行过程

1、在堆内存中创建新对象
2、把this设置为新对象
3、逐个执行函数中的属性和方法
4、将新对象this作为返回值

生成对象的方式包括两种:对象字面量和构造函数。

对象字面量

//创建对象并添加属性和方法
let person = {
    name: '人',
    age: function(){
        return 20;
    }
};

//也可以先定义一个"空对象",然后在添加属性和方法
let person = {};
person.name = '人';
person.age = function(){
    return 20;
}

注意:"空对象"是一个没有自有属性的对象,{}对象会从Object.prototype继承属性和方法。
上一篇 下一篇

猜你喜欢

热点阅读