千鋒教育JavaScript全套視頻教程(10天學(xué)會Js,前端javascrip

一、構(gòu)造函數(shù)出現(xiàn)的流程
1.基于面向?qū)ο蟮闹匾?,選擇使用面向?qū)ο筮M(jìn)行開發(fā)2.面向?qū)ο蟮暮诵男枰獙ο?.1.利用早期學(xué)習(xí)的obiect或者字面量來生成對象,但是弊端是如果生成多人對象,會出現(xiàn)代碼幾余2.2.利用函數(shù)封裝來解決代碼幾余,也叫工廠函數(shù),但是工廠函數(shù)對象的生成和返回都需要手動創(chuàng)建,識別上也有問題2.3.利用構(gòu)造函數(shù)(類)來生成對象,可以自動創(chuàng)建以及自動返回對象,解決了上面的工廠函數(shù)的整端3最終選擇使用構(gòu)造函數(shù)(類)來生成對象
二、構(gòu)造函數(shù)的應(yīng)用
1.創(chuàng)建構(gòu)造函數(shù)(注意首字母盡量大寫,區(qū)別普通函數(shù))
2.實(shí)例化對象(調(diào)用構(gòu)造函數(shù)生成對象,必須使用new關(guān)鍵字)
3.構(gòu)造函數(shù)的基本使用注意點(diǎn) - 重點(diǎn)內(nèi)容
3.1.構(gòu)造函數(shù)和普通函數(shù)一樣,只不過 調(diào)用的時候要和 new 調(diào)用,不然就是一個普通函數(shù)調(diào)用
3.2.不寫 new 的時候就是普通函數(shù)調(diào)用,沒有創(chuàng)造對象的能力.
3.3.如果不需要傳遞參數(shù),那么可以不寫(),如果傳遞參數(shù)就必須寫
3.4.構(gòu)造函數(shù)內(nèi)部的 this,由于和 new 連用的關(guān)系,是指向當(dāng)前實(shí)例對象的解讀:構(gòu)造函數(shù)里面的this指向new出來的實(shí)例對象,比如這里就是指向s1和s2,所有s1和s2就可以使用構(gòu)造函數(shù)里面的屬和方法
3.5.因?yàn)闃?gòu)造函數(shù)會自動返回一個對象this,所以構(gòu)造函數(shù)內(nèi)部不要寫 return你如果 return 一個基本數(shù)據(jù)類型,這個return就無效。
你如果 return 一個引用數(shù)據(jù)類型構(gòu)造函數(shù)就失去意義