JavaScript 訪問原型
■知識點
原型實際上就是一個普通對象,繼承了 Object類,由JavaScript自動創(chuàng)建并依附于每個函數(shù)身上。 訪問原型對象有3種方法,簡單說明如下。
obj.__proto__
obj .constructor.prototype
Object.getPrototypeOf(obj)
其中,obj表示一個實例對象,constructor表示構(gòu)造函數(shù)。
__proto__ (前后各兩個下劃線)是一個私有屬性,可讀可寫,與prototype屬性相同,都可以訪問原型對象。Object.getPrototypeOf(obj)是一個靜態(tài)函數(shù),參數(shù)為實例對象,返回值是參數(shù)對象的原型對象。
■實例設(shè)計
下面的代碼創(chuàng)建一個空構(gòu)造函數(shù),然后實例化,分別使用上述3種方法訪問實例對象的原型。
var F = function (){}; //構(gòu)造函數(shù)
var obj = new F(); //實例化
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
點擊加載更多評論>>