首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Object.prototype中工作JavaScript

如何在Object.prototype中工作JavaScript
EN

Stack Overflow用户
提问于 2018-07-21 19:34:45
回答 2查看 43关注 0票数 0

我看到了JavaScript的文档,我读到了:JavaScript,在文档中他们评论道:

Object.prototype属性表示对象原型对象。

好的,我知道我可以这样创建一个对象:

代码语言:javascript
复制
var o = new Object();

但这意味着什么:

**属性表示对象原型对象**

好的,我知道什么是对象:

对象构造函数创建对象包装器。

我的问题是:

你这么说是什么意思?

Object.prototype属性表示对象原型对象。

此外,当我研究原型时,这个原型术语与这个Object.prototype相同?:

对象,它为其他对象提供共享属性。

我在这里看到了

我希望我的问题是坏的,只是我不明白这个学期?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-07-21 20:07:08

Javascript中的对象可以相互继承。这意味着,如果我们有一个继承了一个child对象的对象parent,您可以通过子对象访问父对象的所有属性:

代码语言:javascript
复制
const parent = { age: 37 };
const child = Object.create(parent); // child inherits parent
console.log(child.age); // 37

现在,parent被称为child的原型。现在,Object.prototype属性是继承链中最上层的父属性,在我们的示例中是:

代码语言:javascript
复制
child -> parent -> Object.prototype

因此,每个对象(以及几乎所有其他东西)都继承自该属性。这意味着,如果你在它中添加了什么:

代码语言:javascript
复制
Object.prototype.test = "hey!";

所有的孩子(一切)都继承它:

代码语言:javascript
复制
console.log({}.test, 1..test, "test".test); // hey, hey, hey!
票数 0
EN

Stack Overflow用户

发布于 2018-07-21 19:49:44

Javascript使用创造原型模式。为了简单起见,每次调用new Object()Object.create时,技术上都是克隆原型对象。Object.prototype只保存对原型对象的引用。

为什么这很重要?因为无论你把什么放在你的原型上都会被克隆。如果将函数放在prototype上是有区别的,因为所创建的/克隆的对象只保留对prototype的引用,所以当您更改prototype上的函数时,它将反映所有已创建的对象。但是,如果指定变量,则它们的值将被克隆,因此您创建的每个对象都将具有自己的值。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51459462

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档