JavaScript的三座大山----原型和原型鏈

相信很多學習前端的朋友都認識JavaScript的三座大山。

這里假設閱讀的朋友對js已經(jīng)有一定的基礎。如果沒有的話,請暫時留步。

那js三座大山是什么呢?

1、原型和原型鏈

2、作用域和閉包

3、異步和單線程

本篇文章主要是寫原型和原型鏈,至于后面兩座大山,在我的下兩篇文章會整理出來。

第一個問題:什么是原型?

原型分兩類:顯式原型(prototype)和隱式原型(__proto__)(proto左右兩邊都是兩條下劃線)

第二個問題:原型規(guī)則有哪些?

1、所有函數(shù)都有prototype屬性,屬性值是一個普通對象。

2、所有的引用類型(數(shù)組、對象和函數(shù)),都具有自由擴展屬性(也就是原型屬性啦)。(null除外)

3、所有的引用類型都具有__proto__屬性,并且指向他們的構(gòu)造函數(shù)的prototype屬性。

4、如果一個對象找不到本身的屬性,那么會尋找構(gòu)造這個對象的屬性。

是不是看得有點費解?下面讓我用實例來說明!


第三個問題:什么是原型鏈

第一個例子幫助你了解原型鏈,原型鏈其實就是__proto__的指向鏈接起來的各個對象。

第二個例子:是封裝一個DOM查詢的例子,通過獲取節(jié)點,改變文本內(nèi)容和事件。(適合面試拿出來秀一把)


覺得好的點個贊,給我一些信心。

如果可以的話,可以一起學習。大家一起進步

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內(nèi)容