在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,原型对象

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
桃源资源网 Design By www.nqtax.com

稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!

昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。

这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。

而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?