2023最新JavaScript進(jìn)階4天極速入門

對(duì)象創(chuàng)建的3種方式; 1:字面量創(chuàng)建,2: new Object(),
(1,2)都是一樣的, 只不過1種是2種的簡化版本, 2是創(chuàng)建對(duì)象的原始
3: 構(gòu)造函數(shù)創(chuàng)建對(duì)象, 主要解決的是重復(fù)創(chuàng)建對(duì)象的問題,它是是一種特殊的函數(shù), 專門幫助程序員創(chuàng)建對(duì)象的, 可以批量創(chuàng)建對(duì)象
構(gòu)造函數(shù)本身就是普通函數(shù),只有在使用nwe關(guān)鍵字調(diào)用它的時(shí)候,就稱為構(gòu)造函數(shù);
構(gòu)造函數(shù)特點(diǎn):
1,調(diào)用構(gòu)造函數(shù)會(huì)自動(dòng)創(chuàng)建一個(gè)新對(duì)象
2,可以給當(dāng)前創(chuàng)建的新對(duì)象添加屬性
3,默認(rèn)返回一個(gè)對(duì)象, 不需要寫retun
function Student(name, gae, hobby) {
console.log(name, gae, hobby), // 哈哈',19, '呵呵'
內(nèi)外有個(gè)this屬性,指向剛剛創(chuàng)建的那個(gè)對(duì)象
this.name = name
this.gae= gae
this.hobby= hobby
}
const s1 = new Student('哈哈',19, '呵呵')
......
實(shí)例成員:是new構(gòu)造函數(shù)創(chuàng)建的對(duì)象,也是構(gòu)造函數(shù)內(nèi)部this指向的屬性或方法,這些成員都是存在實(shí)例上面,所以不同實(shí)例成員直接互不干擾,就是通過構(gòu)造函數(shù)的內(nèi)部this方法指向創(chuàng)建的實(shí)例來查早是否存在這個(gè)屬性或方法,然后返回新生成的對(duì)象,因此每個(gè)對(duì)象在內(nèi)存中都是是有自己的內(nèi)存地址,互不干擾,
靜態(tài)成員:就是構(gòu)造函數(shù)身上的屬性或方法,也就是往構(gòu)造函數(shù)身上添加屬性或方法
,這些成員是存儲(chǔ)在構(gòu)造函數(shù)身上,一般存儲(chǔ)一些所有對(duì)象的公共屬性或方法