在本文中,我们将深入探讨 INLINECODEe0452136(原型对象)和 INLINECODE9c656ef4(原型属性)的概念。我们将一起了解它们的语法、使用示例,以及它们在各个方面的不同之处。
INLINECODE8f5f10e8 和 INLINECODEdf098ab1 都是 JavaScript 中的对象,无论是创建数组、普通对象还是函数,它们都发挥着关键作用。它们让我们能够直接访问特定的方法或对象,而无需占用额外的内存空间。更重要的是,它们提供了对构造函数以及数组方法(如 push、pop 等)的访问权限。
Proto(原型对象)
INLINECODE668ec70b 是一个实际存在的对象,它提供了一种通过 INLINECODE0e85d97e 关键字创建的对象来继承 JavaScript 属性的方式。每一个具有关联行为的对象内部都有一个名为 [[prototype]] 的属性。
语法:
Object.__proto__ = value
示例:
JavaScript
CODEBLOCK_2eefbd34
输出:
!imageobject have proto property!imageobject and function refer to the same prototype
Prototype(原型属性)
prototype 是一个特殊的对象,它保存了实例的共享属性和行为。它存在于每一个函数声明中,提供了一种在 JavaScript 中继承属性的方式。
语法:
objectTypeName.prototype.SharedPropertyName=value;
示例:
JavaScript
CODEBLOCK_9de4370a
输出:
!imagefunction have property prototype!imagefunction call using object!imageaccess prototype property
proto 与 prototype 的区别:
proto (原型对象)
—
INLINECODEe6c58087 也是一种在多个对象之间共享行为和数据的方式,通过 INLINECODEc43dc28c 访问。
所有的对象都有 INLINECODE5b23d5d2 属性。
语法:INLINECODE5fc7741c
INLINECODE3bb6d702 通过对象实例提供对函数原型的访问。
语法:INLINECODEafc20f8f
它主要用于在查找链中解析方法、构造函数等。
它是类实例的属性。
当使用 INLINECODEc80943c9 关键字创建对象时,INLINECODE2075de49 属性就被设置到该对象上。所有新创建的对象行为都有 INLINECODEc2ff5523 属性。
它是在 ECMAScript 5 中引入的。
.prototype。 它通常被称为 dunder proto(双下划线 proto)。
它在 JavaScript 中很少直接使用。