麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JavaScript > 正文

理解JavaScript原型鏈

2019-11-20 08:39:59
字體:
供稿:網(wǎng)友

每一個JavaScript對象都和另一個對象相關(guān)聯(lián),相關(guān)聯(lián)的這個對象就是我們所說的“原型”。每一個對象都會從原型繼承屬性和方法。有一個特殊的對象沒有原型,就是Object。在之后的圖示中會進(jìn)行說明。

舉個栗子,我們首先聲明一個函數(shù)Student():

function Student(name){  this.name = name; this.hello = function(){   alert(`Hello,${this.name}`); } }

這個函數(shù)包含一個屬性name和一個方法hello。
在JavaScript中,可以通過new關(guān)鍵字來調(diào)用Student函數(shù)(不寫new就是一個普通函數(shù),寫new就是一個構(gòu)造函數(shù)),并且返回一個原型指向Student.prototype的對象,如下所示:

 var xiaoming = new Student("xiaoming"); alert(xiaoming.name); // xiaoming xiaoming.hello(); // Hello,xiaoming

如果我們想確認(rèn)一下我們的設(shè)想對不對,就會希望去比較一下xiaoming.prototype和Student.prototype是否相等。
但是xiaoming沒有prototype屬性,不過可以用__proto__來查看。接下來我們就用這些屬性來查看xiaoming,Student,Object之間的原型鏈:

document.onreadystatechange = function(){ // interactive表示文檔已被解析,但瀏覽器還在加載其中鏈接的資源 if(document.readyState === "interactive"){  var xiaoming = new Student("xiaoming");  alert(xiaoming.name);  xiaoming.hello();  console.log("xiaoming.__proto__:");  console.log(xiaoming.__proto__);  console.log("Student.prototype:");  console.log(Student.prototype);  console.log("xiaoming.__proto__ === Student.prototype:" + xiaoming.__proto__ === Student.prototype);  console.log("Student.prototype.constructor:" + Student.prototype.constructor);  console.log("Student.prototype.prototype:" + Student.prototype.prototype);  console.log("Student.prototype.__proto__:");  console.log(Student.prototype.__proto__);  console.log(Object.prototype);  console.log("Student.prototype.__proto__ === Object.prototype:" + Student.prototype.__proto__ === Object.prototype); }}

七個紅色箭頭指向的就是七個console.log語句的輸出結(jié)果。用圖例展示一下如圖所示:

測試表明Object.prototype和Student.prototype.__proto__指向的Object并不是同一個。這個Object就是之前說的沒有原型的那個Object,我們可以看到它并沒有對應(yīng)的prototype或者_(dá)_proto__屬性:

由圖可得原型鏈如下所示:

由于本人語言表達(dá)能力有限,理解也比較淺顯,所以圖示比較多,錯誤之處還望指出,謝謝。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 日日爱影院| 九九热精品视频在线 | 日日天日日夜日日摸 | 久久久久久久久久久av | 久久国精品 | 美女黄视频在线观看 | 国产精品成人一区二区三区电影毛片 | 密室逃脱第一季免费观看完整在线 | 色综合久久久久久久久久久 | 5xsq在线视频 | 欧美一区高清 | 国内精品久久久久影院不卡 | 色综合久久久久久久久久 | 国产免费中文字幕 | 97香蕉超级碰碰久久免费软件 | 法国性hdfreexxxx人妖 | 国产99精品在线 | 在线观看免费av网 | 中国免费一级毛片 | 中文字幕网在线 | 欧美激情在线播放 | 久久久一区二区三区四区 | 国产日韩在线 | 欧美精品网址 | 免费观看一级 | 草草久| 欧美 日韩 三区 | 日韩视频一二区 | 国产a一级片 | www69xxxxx | 国产精品无码久久久久 | 成人黄色小视频在线观看 | 久久华人 | 久久中文字幕在线观看 | 久久精品亚洲欧美日韩精品中文字幕 | 欧美日韩网站在线观看 | 国产在线a | 日韩精品久久久久久久电影99爱 | 久久久久国产成人精品亚洲午夜 | 特逼视频 | 成人免费久久 |