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

 以上,就是構造函數的整個執行過程了。

撒花 🌸✨🌼🌻🌺

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