为了账号安全,请及时绑定邮箱和手机立即绑定

_.JavaScript原型

_.JavaScript原型

有只小跳蛙 2019-06-01 15:19:45
_.JavaScript原型这个图再次显示每个对象都有一个原型。构造函数foo也有自己的__proto__它是Function.Prototype,它反过来也通过它的__proto__属性再次传递给Object.Prototype。因此,重复一遍,Foo.Prototype只是foo的一个显式属性,它指的是b和c对象的原型。var b = new Foo(20);var c = new Foo(30);.之间有什么区别?__proto__和prototype财产?这个数字是从这里.
查看完整描述

4 回答

?
沧海一幻觉

TA贡献1824条经验 获得超5个赞

__proto__是查找链中用于解析方法等的实际对象。prototype是用于生成__proto__创建对象时new:

( new Foo ).__proto__ === Foo.prototype;( new Foo ).prototype === undefined;


查看完整回答
反对 回复 2019-06-01
?
GCT1015

TA贡献1827条经验 获得超4个赞

prototype函数对象的属性。它是由该函数构造的对象的原型。

__proto__对象的内部属性,指向其原型。目前的标准提供了一个等价的Object.getPrototypeOf(O)方法,尽管事实上的标准__proto__更快。

你可以找到instanceof通过比较函数的关系prototype到物体的__proto__链,您可以通过更改这些关系来打破这些关系。prototype.

function Point(x, y) {
    this.x = x;
    this.y = y;}var myPoint = new Point();// the following are all truemyPoint.__proto__ == Point.prototype
myPoint.__proto__.__proto__ == Object.prototype
myPoint instanceof Point;myPoint instanceof Object;

这里Point是一个构造函数,它按过程构建一个对象(数据结构)。myPoint是由Point()所以Point.prototype保存到myPoint.__proto__在那个时候。


查看完整回答
反对 回复 2019-06-01
?
牛魔王的故事

TA贡献1830条经验 获得超3个赞

一个很好的想法就是.。

prototype是由.使用的constructor()职能。它应该被称为类似的东西,"prototypeToInstall"因为那就是它的本质。

__proto__是对象上的“已安装原型”(该对象是在上述对象上创建/安装的)。constructor()职能)


查看完整回答
反对 回复 2019-06-01
  • 4 回答
  • 0 关注
  • 470 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信