在Javascript中,如果我们有一个对象但是又不知道它的构造函数时,如何获取它的原型对象呢?
在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属性不是对象自己的属性,而是顺着原型链向上从原型对象中获取的。这个属性指向的是这个原型对象所对应的构造函数。而构造函数的prototype属性指向了原型对象, 所以这样我们就可以间接得到了。
以上所述就是本文关于javascript中获取原型对象的全部内容了,希望大家能够喜欢。
您可能感兴趣的文章:
- 深入理解javascript构造函数和原型对象
- js 原型对象和原型链理解
- JS原型对象通俗"唱法"
- 举例说明JavaScript中的实例对象与原型对象
- 浅谈JS原型对象和原型链
- JS原型对象的创建方法详解
- js使用原型对象(prototype)需要注意的地方
- 图文详解JavaScript的原型对象及原型链
- Javascript 学习笔记之 对象篇(二) : 原型对象
- JavaScript原型对象、构造函数和实例对象功能与用法详解
- javascript构造函数以及原型对象的理解
- JavaScript原型对象原理与应用分析