面試官問(wèn),什么是閉包,我該怎么答?
面試官問(wèn),怎么理解原型原型鏈,我該怎么答?
達(dá)令說(shuō)
2019-08-21 11:53:21
TA貢獻(xiàn)1998條經(jīng)驗(yàn) 獲得超6個(gè)贊
兄弟有一種叫作鏈?zhǔn)秸{(diào)用,底部最主要的精華就是returnthis完成的。而此處的原型鏈的鏈和前面提到的鏈?zhǔn)降逆溒鋵?shí)是一個(gè)意思,原型鏈上有個(gè)_proto_也就是原型的原型,當(dāng)最終為null時(shí)返回值為undefined.
TA貢獻(xiàn)1725條經(jīng)驗(yàn) 獲得超8個(gè)贊
閉包閉包是指有權(quán)訪問(wèn)另一個(gè)函數(shù)作用域中的變量的函數(shù)。functionsayHi(name){return()=>{console.log(`Hi!${name}`)}}consttest=sayHi('xiaoming')test()//Hi!xiaoming雖然sayHi函數(shù)已經(jīng)執(zhí)行完畢,但是其活動(dòng)對(duì)象也不會(huì)被銷(xiāo)毀,因?yàn)閠est函數(shù)仍然引用著sayHi函數(shù)中的變量name,這就是閉包。但也因?yàn)殚]包引用著另一個(gè)函數(shù)的變量,導(dǎo)致另一個(gè)函數(shù)已經(jīng)不使用了也無(wú)法銷(xiāo)毀,所以閉包使用過(guò)多,會(huì)占用較多的內(nèi)存,這也是一個(gè)副作用。原型及原型鏈所有的JS對(duì)象都有一個(gè)prototype屬性,指向它的原型對(duì)象。當(dāng)試圖訪問(wèn)一個(gè)對(duì)象的屬性時(shí),如果沒(méi)有在該對(duì)象上找到,它還會(huì)搜尋該對(duì)象的原型,以及該對(duì)象的原型的原型,依次層層向上搜索,直到找到一個(gè)名字匹配的屬性或到達(dá)原型鏈的末尾。前端面試題
舉報(bào)