更新時(shí)間:2024-04-21 14:15:06 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽682次
在 JavaScript 中,每個(gè)對(duì)象都有一個(gè)原型對(duì)象(prototype),這個(gè)原型對(duì)象可以作為該對(duì)象的父對(duì)象(parent),而父對(duì)象則會(huì)有自己的原型,從而形成原型鏈(prototype chain)。JavaScript 原型和原型鏈的概念是實(shí)現(xiàn)繼承的重要機(jī)制,可以讓對(duì)象實(shí)例化后可以訪問(wèn)到其原型上的屬性和方法。
當(dāng)訪問(wèn)一個(gè)對(duì)象的屬性時(shí),首先會(huì)在對(duì)象自身的屬性中查找,如果沒(méi)有找到,則會(huì)沿著原型鏈向上查找,直到找到該屬性或者到達(dá)原型鏈的頂端。如果最終還是沒(méi)有找到該屬性,則會(huì)返回 undefined。
以下是一個(gè)簡(jiǎn)單的例子,說(shuō)明原型和原型鏈的概念:
在上面的例子中,定義了一個(gè) Animal 構(gòu)造函數(shù),該函數(shù)有一個(gè)原型對(duì)象,在其原型對(duì)象上定義了一個(gè) say 方法。同時(shí)還定義了一個(gè) Cat 構(gòu)造函數(shù),繼承自 Animal,并在其原型對(duì)象上定義了一個(gè) catchMouse 方法。在創(chuàng)建一個(gè) Cat 實(shí)例后,該實(shí)例可以訪問(wèn)到其原型上的 say 方法,以及原型鏈上的 Animal 的屬性和方法。
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)