位置:首頁 > 軟件操作教程 > 編程開發(fā) > JavaScript > 問題詳情

JavaScript 訪問原型

提問人:劉團(tuán)圓發(fā)布時(shí)間:2020-11-26

■知識(shí)點(diǎn)

    原型實(shí)際上就是一個(gè)普通對(duì)象,繼承了 Object類,由JavaScript自動(dòng)創(chuàng)建并依附于每個(gè)函數(shù)身上。 訪問原型對(duì)象有3種方法,簡單說明如下。

    obj.__proto__

    obj .constructor.prototype 

    Object.getPrototypeOf(obj)

    其中,obj表示一個(gè)實(shí)例對(duì)象,constructor表示構(gòu)造函數(shù)。

    __proto__ (前后各兩個(gè)下劃線)是一個(gè)私有屬性,可讀可寫,與prototype屬性相同,都可以訪問原型對(duì)象。Object.getPrototypeOf(obj)是一個(gè)靜態(tài)函數(shù),參數(shù)為實(shí)例對(duì)象,返回值是參數(shù)對(duì)象的原型對(duì)象。


■實(shí)例設(shè)計(jì)

下面的代碼創(chuàng)建一個(gè)空構(gòu)造函數(shù),然后實(shí)例化,分別使用上述3種方法訪問實(shí)例對(duì)象的原型。

var F = function (){};                                //構(gòu)造函數(shù)

var obj = new F();                                        //實(shí)例化

var protol = Object.getPrototypeOf( obj );    //引用原型

var proto2 =  obj._ _proto_ _;                         //引用原型,注意,IE暫不支持

var proto3 = obj.constructor.prototype;       //引用原型

var proto4 = F.prototype;                              //引用原型

console.log( protol === proto2 );              //true

console.log( protol === proto3 );              //true

console.log( protol === proto4 );              //true

console.log( proto2 === proto3 );             //true

console.log( proto2 === proto4 );             //true

console.log( proto3 === proto4 );             //true

繼續(xù)查找其他問題的答案?

相關(guān)視頻回答
回復(fù)(0)
返回頂部