当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Javascript Objects和Prototypes的区别用法及代码示例


JavaScript 中的对象

JavaScript 中的对象是类或构造函数的实例,它们可以保存属性和方法。这些属性和方法可以是对象所独有的,也可以是从原型继承的。可以使用以下方法创建对象构造函数,对象字面量,或者对象构造函数.

用法:

const person = {
name: 'Kumar',
age: 20,
greet: function() {
// code
}
};

例子:在此示例中,汽车对象可能具有 “make” 和 “model” 等属性以及用于启动发动机或换档的方法。

Javascript


car1 = { make: 'Toyota', model: 'Camry' };
// Adding a method to object
car1.start = function () {
    console.log('Engine started');
};
// Using the object and its method
car1.start();
输出
Engine started

JavaScript 中的原型

JavaScript 中的原型是为其他对象提供共享属性和方法的模板对象。每个对象都有一个内置属性,称为原型。而prototype本身就是一个对象,所以它也有自己的原型。它们不是作为原型显式创建的,而是作为特定类型对象的蓝图存在。原型通过允许对象继承其属性和方法来促进继承。

用法:

function Person(name, age) {
this.name = name;
this.age = age;
}
Person.prototype.greet = function() {
// code
}

示例:在这个例子中,定义了一个 Cars 构造函数来创建具有 make 和 model 属性的汽车对象,并在 Cars 原型中添加了一个共享启动方法来启动引擎。

Javascript


function Cars(make, model) {
    this.make = make;
    this.model = model;
}
// Adding a shared method to Car prototype
Cars.prototype.start = function () {
    console.log('Engine started');
};
// Creating car objects
const myCars = new Cars('Toyota', 'Camry');
const anotherCars = new Cars('TATA', 'Accord');
// Using the shared method from prototype
myCars.start();
anotherCars.start();
输出
Engine started
Engine started

JavaScript 中对象和原型的区别

特征

对象

原型

定义

对象是类或构造函数的实例,它们可以保存属性和方法。

原型是为其他对象提供共享属性和方法的模板对象。

创建

使用构造函数、对象字面量或对象构造函数创建。

不是作为原型明确创建的,而是作为对象的蓝图存在。

特性

对象有自己独特的属性,并且可以从原型继承。

原型定义了可由对象继承的共享属性。

方法

对象可以有自己的方法,与原型中的方法不同。

原型可以定义在相同类型的对象之间共享的方法。

继承

对象可以使用以下机制从其他对象继承对象.create()或者构造函数。

原型通过允许对象继承其属性和方法来促进继承。



相关用法


注:本文由纯净天空筛选整理自佚名大神的英文原创作品 Difference Between Objects and Prototypes in JavaScript。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。