web前端:理解js原型鏈
工具/材料
javascript
操作方法
學習原型鏈之前我們先認識一下構造函數,代碼如下:
function S() {
= 'xxx';
= function() { () }
}
var s1 = new S();
其中,s1是S的實例,s1的__proto__(大家先不用管__proto__屬性,後續會講到)中有一個constructor(構造函數)屬性,該屬性指向S。
在這裏,大家可以記住兩點:
1.s1是構造函數S的實例;
2.s1.__proto__tructor===S 也可以寫成 tructor===S;
接下來我們來看下一段代碼:
function S2() {}
= 'XXX';
= function() {
();
}
var s2 = new S2();
var s3 = new S2();
(ame === ame);//true
(s2.__proto__===otype);//true
這一段代碼中我們可以看到一個新屬性——prototype,這是什麼呢,其實這就是構造函數S2的原型對象,每個對象都有__proto__屬性,但是隻有函數對象纔有prototype屬性。而s2是構造函數S2的實例,而s2.__proto__指向的就是S2的原型對象,即s2.__proto__===otype。得到一個結論,實例的__proto__屬性指向的就是其構造函數的原型對象。
繼續上一步的代碼,我們添加代碼繼續調試:
(s2.__proto__);//返回S2的原型對象
(otype);//返回S2的原型對象
(s2.__proto__.__proto__);//返回Object對象
(otype.__proto__);//返回Object對象
(s2.__proto__.__proto__.__proto__);//返回null
(otype.__proto__.__proto__);//返回null
其實,S2的原型對象上還有原型對象,因爲S2的原型對象也相當於只是Object對象的一個實例。
在這裏我給大家畫了一張圖,便於大家理解原型鏈。
特別提示
碼子不易,小編如有說得不對的地方,望大家指點包含,謝謝
-
excel怎麼將表格轉換成圖片
excel中的表格怎麼樣轉換成圖片,讓小編教給你指南。操作方法(01)首先開啟一個工作樣表作爲例子,將圖中表格轉換爲圖片。(02)選擇需要轉換的表格。(03)切換到開始標籤。(04)點擊複製下拉小箭頭。(05)選擇複製爲圖片。(06)點擊確定。(07)點擊粘貼命令。(08)完成表格轉換爲圖片目的...
-
FLYME7系統怎麼樣?
魅族公司作爲國產手機的領航者,每一款新產品都會受到用戶們的期待,那麼即將推出的最新Flyme7系統怎麼樣呢?一起來了解一下。操作方法(01)Flyme是國內操作系統的標杆,同MIUI能夠並驅前行,之前MIUI9已經發布,讓很多人看到了驚豔,Flyme7卻還在醞釀,很多人都在期待。(02)最近魅...
-
360系統重裝大師裝的是什麼系統?怎麼重裝系統
360系統重裝大師目前是360安全衛士功能大全下的功能之一,要使用360系統重裝大師必須先安裝最新版360安全衛士。下面小編爲你介紹如何用360系統重裝大師重裝系統操作方法(01)開啟360系統重裝大師後見到如下主介面:(02)點擊"重裝環境檢測"按鈕,程序將開始檢測您的系統是...
-
蘋果電腦怎麼切換windows系統
相信很多使用蘋果電腦的用戶都安裝了MacOSX與Windows雙系統,雖然MacOSX系統非常好用,但有時候某些特定軟件需要Windows系統來執行,現在就來教教大家蘋果電腦怎麼切換windows系統。操作方法(01)開機選擇默認啓動系統。①開機後按住【Option】直到出現系統選擇介面時...