JS 构造函数

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);

 以上,就是构造函数的整个执行过程了。

撒花 🌸✨🌼🌻🌺

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章