Javascript中獲取對象的原型對象的方法小結(jié)
在Javascript中,如果我們有一個對象但是又不知道它的構(gòu)造函數(shù)時,如何獲取它的原型對象呢?
在Chrome中或是FireFox瀏覽器中,我們可以直接使用對象的__proto__屬性獲取它的原型對象。
<!-- lang: js -->
function F(){};
var foo = new F();
alert(foo.__proto__ == F.prototype);
但是,__proto__屬性在IE瀏覽器中一直到IE11才被支持。
那么在不支持__proto__屬性的瀏覽器中,我們怎么得到對象的原型對象呢?可以通過constructor間接得到。
<!-- lang: js -->
function F(){};
var foo = new F();
alert(foo.constructor.prototype == F.prototype);
constructor屬性不是對象自己的屬性,而是順著原型鏈向上從原型對象中獲取的。這個屬性指向的是這個原型對象所對應的構(gòu)造函數(shù)。而構(gòu)造函數(shù)的prototype屬性指向了原型對象, 所以這樣我們就可以間接得到了。
以上所述就是本文關(guān)于javascript中獲取原型對象的全部內(nèi)容了,希望大家能夠喜歡。
相關(guān)文章
arrayToJson將數(shù)組轉(zhuǎn)化為json格式的js代碼
arrayToJson將數(shù)組轉(zhuǎn)化為json格式的js代碼,需要的朋友可以參考下。2010-10-10JavaScript高級程序設(shè)計 讀書筆記之十一 內(nèi)置對象Global
由ECMAScript實現(xiàn)提供的、獨立于宿主環(huán)境的所有對象,在ECMAScript程序開始執(zhí)行時出現(xiàn)2012-03-03JavaScript詞法作用域與調(diào)用對象深入理解
關(guān)于 Javascript 的函數(shù)作用域、調(diào)用對象和閉包之間的關(guān)系很微妙,關(guān)于它們的文章已經(jīng)有很多,本文做了一些總結(jié),需要的朋友可以參考下2012-11-11