1. 认识构造函数
构造函数必须加new操作符,本来他只是一个普通的函数,加new就能产生构造函数的功能,构造函数的功能就是创建对象
;
构造函数一般用大写字母开头
function Person(name, age, sex) {
this.name = name
this.age = age
this.sex = sex
}
// 创造一个新的对象
var person = new Person('gkl', 18, 'male')
console.log(person);
// Person { name: 'gkl', age: 18, sex: 'male' }
2. 构造函数原理
JavaScript规定,一个函数可以用new关键字来调用。那么此时将按顺序发生四件事情:
1)隐秘的创建一个新的空对象
2)将这个函数里面的this绑定到刚才创建隐秘新对象上
3)执行函数体里面的语句
4)返回这个新的对象
5) this 会指向新创建的这个对象
3. 注意事项
(1)构造函数中不允许return对象;如果return一个obj,构造函数将失去意义
function Person(name, age, sex) {
this.name = name
this.age = age
this.sex = sex
return { a: 1, b: 2 }
}
var person = new Person('gkl', 18, 'male')
console.log(person);
// { a: 1, b: 2 }
(2)如果构造函数里没有this,那么将创建一个空对象
4. 静态成员和实例成员
静态成员: 通过构造函数来访问
实例成员: 通过this定义的变量,通过实例化对象访问
function Person(name){
this.name = name
}
let person = new Person('douodu')
console.log(person.name)
Person.age = 18;
console.log(Person.age)