我看到了JavaScript的文档,我读到了:JavaScript,在文档中他们评论道:
Object.prototype属性表示对象原型对象。
好的,我知道我可以这样创建一个对象:
var o = new Object();
但这意味着什么:
**属性表示对象原型对象**
好的,我知道什么是对象:
对象构造函数创建对象包装器。
我的问题是:
你这么说是什么意思?
Object.prototype属性表示对象原型对象。
此外,当我研究原型时,这个原型术语与这个Object.prototype相同?:
对象,它为其他对象提供共享属性。
我希望我的问题是坏的,只是我不明白这个学期?
发布于 2018-07-21 20:07:08
Javascript中的对象可以相互继承。这意味着,如果我们有一个继承了一个child对象的对象parent,您可以通过子对象访问父对象的所有属性:
const parent = { age: 37 };
const child = Object.create(parent); // child inherits parent
console.log(child.age); // 37现在,parent被称为child的原型。现在,Object.prototype属性是继承链中最上层的父属性,在我们的示例中是:
child -> parent -> Object.prototype因此,每个对象(以及几乎所有其他东西)都继承自该属性。这意味着,如果你在它中添加了什么:
Object.prototype.test = "hey!";所有的孩子(一切)都继承它:
console.log({}.test, 1..test, "test".test); // hey, hey, hey!发布于 2018-07-21 19:49:44
Javascript使用创造原型模式。为了简单起见,每次调用new Object()或Object.create时,技术上都是克隆原型对象。Object.prototype只保存对原型对象的引用。
为什么这很重要?因为无论你把什么放在你的原型上都会被克隆。如果将函数放在prototype上是有区别的,因为所创建的/克隆的对象只保留对prototype的引用,所以当您更改prototype上的函数时,它将反映所有已创建的对象。但是,如果指定变量,则它们的值将被克隆,因此您创建的每个对象都将具有自己的值。
https://stackoverflow.com/questions/51459462
复制相似问题