在講到new關鍵字的執行過程之前,有幾個關於構造函數和對象之間的關係和構造函數的特點需要重點掌握: ###1.構造函數和對象的關係和區別: 構造函數:構造函數抽象了對象的公共的屬性和方法,封裝到了函數裡面,它泛指的是某一大類; 對象:通過new函數創建對象,也稱為對象藉助構造函數完成的對象實例化。 ...
在講到new關鍵字的執行過程之前,有幾個關於構造函數和對象之間的關係和構造函數的特點需要重點掌握:
1.構造函數和對象的關係和區別:
- 構造函數:構造函數抽象了對象的公共的屬性和方法,封裝到了函數裡面,它泛指的是某一大類;
- 對象:通過new函數創建對象,也稱為對象藉助構造函數完成的對象實例化。
2.關於構造函數的返回值return:
- 構造函數預設返回new創建的實例對象。
- 在構造函數裡面,如果寫了return的話:
- return一個基本數據類型,構造函數依然返回創建的實例對象;
- return Object則返回此對象。原本的指向實例對象的this將會無效化。
3.new關鍵字的執行過程:
//構造函數首字母大寫
function Student(name, sex, age) {
this.name = name;
this.sex = sex;
this.age = age;
this.read = function (study) {
alert('我們正在通過閱讀學習' + study + '知識!');
}
}
//調用函數返回的tsieo是Object類型(typeof)
var tsieo = new Student('湘舒', '女', 25);//屬性為賦值操作
tsieo.read('構造函數創建對象');
console.log(tsieo);
- 在記憶體中創造一個新的空對象tsieo;
- 讓this指針指向tsieo對象;
- 利用構造函數初始化tsieo對象,給她添加屬性(name,sex,age)和方法(read);
- 返回這個新的對象tsieo。
以上為構造函數創建對象中關鍵內容的詳解,語言的執行過程中蘊藏著星星的海洋,等著你我去探索,感謝相遇~