国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

js prototype和__proto__的關(guān)系是什么

2024-05-06 15:35:34
字體:
供稿:網(wǎng)友

我們創(chuàng)建的每個函數(shù)都有一個prototype(原型)屬性,這個屬性是一個對象,它的用途是包含可以由特定類型的所有實例共享的屬性和方法。(這個對象下面有個屬性,這個屬性是另外一個對象的應(yīng)用 ,這個屬性就是一個對象。)

function是對象,function的原型prototype也是對象,它們都會具有對象共有的特點。即:對象具有屬性__proto__,每個對象都會在其內(nèi)部初始化一個屬性,就是__proto__,當(dāng)我們訪問一個對象的屬性 時,如果這個對象內(nèi)部不存在這個屬性,那么他就會去__proto__里找這個屬性,這個__proto__又會有自己的__proto__,于是就這樣 一直找下去,也就是我們平時所說的原型鏈的概念。__proto__可稱為隱式原型,一個對象的隱式原型指向構(gòu)造該對象的構(gòu)造函數(shù)的原型,這也保證了實例能夠訪問在構(gòu)造函數(shù)原型中定義的屬性和方法。

funcition這個特殊的對象,除了和其他對象一樣有上述_proto_屬性之外,還有自己特有的屬性——原型屬性(prototype),這個屬性是一個指針,指向一個對象,這個對象的用途就是包含所有實例共享的屬性和方法(我們把這個對象叫做原型對象)。prototype是通過調(diào)用構(gòu)造函數(shù)而創(chuàng)建的那個對象實例的原型對象。使用原型對象的好處是可以讓所有對象實例共享它所包含的屬性和方法,不必在構(gòu)造函數(shù)中定義對象實例的信息,而是可以將這些信息直接添加到原型對象中。原型對象也有一個屬性,叫做constructor,這個屬性包含了一個指針,指回原構(gòu)造函數(shù)。

ptototype和__proto__聯(lián)系

prototype和__proto__都指向原型對象,任意一個函數(shù)(包括構(gòu)造函數(shù))都有一個prototype屬性,指向該函數(shù)的原型對象,同樣任意一個構(gòu)造函數(shù)實例化的對象,都有一個__proto__屬性(__proto__并非標(biāo)準(zhǔn)屬性,ECMA-262第5版將該屬性或指針稱為[[Prototype]],可通過Object.getPrototypeOf()標(biāo)準(zhǔn)方法訪問該屬性),指向構(gòu)造函數(shù)的原型對象。---sinのstone

ptototype和__proto__區(qū)別

//a作為構(gòu)造函數(shù)時的prototype屬性與a作為普通函數(shù)時的__proto__屬性并不相等console.log(a.prototype == a.__proto__);//falseconsole.log(a.__proto__);     //function (){}console.log(a.__proto__ == Function.prototype);//true//a作為一個普通函數(shù)調(diào)用時,它的構(gòu)造函數(shù)是內(nèi)置對象Function,所以它指向的原型對象,就是Function.prototype.//其實這個和console.log(b.__proto__ == a.prototype)是一樣的道理//a作為構(gòu)造函數(shù)時,它的原型,和它的原型的原型console.log(a.prototype);          //a{}console.log(a.prototype.__proto__); //Object{}//a作為普通函數(shù)時,它原型的原型console.log(a.__proto__.__proto__); //Object{}console.log(a.__proto__.__proto__ == a.prototype.__proto__); //true            
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 棋牌| 莆田市| 繁峙县| 昌邑市| 平遥县| 浦北县| 冷水江市| 德化县| 彝良县| 宝山区| 湖州市| 棋牌| 鲁山县| 辽中县| 云龙县| 莱芜市| 青冈县| 南岸区| 沁水县| 沾化县| 曲水县| 定西市| 台安县| 体育| 平陆县| 南郑县| 迁安市| 浪卡子县| 荔波县| 从化市| 顺义区| 洛阳市| 务川| 商河县| 青河县| 温州市| 汝阳县| 开原市| 鸡泽县| 勐海县| 兴城市|