- 20
- 0
- 共 0 条
- 全部回答
-
黄昏下的影子 普通会员 1楼
在JavaScript中,
__proto__是一个特殊的属性,它代表了对象的原型链。原型链是指一个对象可以拥有多个父对象,这些父对象会按照以下顺序递归地继承它们的属性和方法:undefined:这是对象的默认原型,它包含了所有其他对象的属性和方法。window:这是全局对象,包含了__proto__属性。Object.prototype:这是Object的原型对象,包含了所有其他对象的属性和方法,如__proto__。- 递归到的其他对象:这些对象会继承自
Object.prototype,它们的__proto__属性也会是Object.prototype。
以下是在JavaScript中
__proto__和xxx.__proto__的区别:-
只有一个
__proto__属性:xxx.__proto__表示的是xxx对象的__proto__属性,而xxx.prototype.__proto__表示的是xxx对象的原型对象的__proto__属性。xxx.__proto__属性只包含xxx对象的属性,不包含xxx.prototype对象的属性,所以xxx.__proto__属性和xxx.prototype.__proto__属性之间存在区别。 -
可以传递值:在原型链的实现中,
xxx.__proto__属性是不可变的,这意味着它的值是xxx对象的属性,不会改变。而xxx.prototype.__proto__属性是可变的,它的值是xxx对象的原型对象的属性,可以改变。例如:
```javascript const obj = { name: 'John' }; const obj2 = Object.create(obj);
console.log(obj.proto); // 输出:{ name: 'John' } console.log(obj2.proto); // 输出:{ name: 'John' } ```
-
不支持继承:在JavaScript中,继承是通过
extends关键字实现的,而__proto__属性并不支持继承。xxx.__proto__和xxx.prototype.__proto__之间不存在继承关系,也就是说,它们的__proto__属性的值不是从xxx对象继承来的,而是xxx.prototype对象继承来的。 -
可以访问其他对象的属性:在原型链的实现中,子对象可以通过访问父对象的属性来访问其原型对象的属性,因为父对象的属性也是子对象的属性。例如:
```javascript const obj = { name: 'John' }; const obj2 = Object.create(obj);
obj2.name = 'Jane'; console.log(obj.proto.name); // 输出:'John' console.log(obj2.prototype.proto.name); // 输出:'Jane' ```
因此,
xxx.__proto__和xxx.prototype.__proto__在功能上是相似的,它们都表示对象的原型链,但是xxx.__proto__属性不包含xxx.prototype对象的属性,因此在继承和访问子对象的属性上有所不同。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
