1,什么是构造函数?
- 在 JavaScript 中,用 new 关键字调用的函数,被称为构造函数。
2,构造函数有什么特征?
- 首字母大写(非强制,业界规范);
- 构造函数里的方法和属性由 this 来定义;
3,为什么要使用构造函数?
- 我们每学习一个新概念,不仅要知道它是什么,还要知道它解决了什么问题。
- 先说总结:使用构造函数的目的之一是,为实现代码复用。
举个例子,比如我们要为每一位同学录入信息,我们可以创建一些对象,比如:
let p1 = {name: 'cxk1', hobby: 'sing', age: '18'};
let p2 = {name: 'cxk2', hobby: 'dance', age: '19'};
let p3 = {name: 'cxk3', hobby: 'rap', age: '20'};
像上边这样写,如果我们班有几百个同学,我们就得重复几百遍,这样肯定是不行的!
这个时候,我们就可以利用构造函数来解决这个问题。
先来创建一个构造函数:
function Person(name, hobby, age){
this.name = name;
this.hobby = hobby;
this.age = age;
}
这时候,我们再来给同学们录入信息:
let p1 = new Person('cxk1', 'sing', '18');
let p2 = new Person('cxk2', 'sing', '19');
let p3 = new Person('cxk3', 'sing', '20');
此时你会发现,创建对象会变得非常方便对吧,给同学们录入信息相当轻松呢。
4,构造函数的原理?
- 有些同学可能会疑惑了,为什么通过 new 关键字调用构造函数会返回一个对象呢?
let p1 = new Person('cxk1', 'sing', '18');
其实上边这行代码在执行的过程中会进行如下几步操作:
let p1 = {};
p1.__proto__ = Person.prototype;
Person.call(p1);
以上,就是构造函数的整个执行过程了。
撒花 🌸✨🌼🌻🌺