无法设置属性'name'的未定义JS

Cannot set property 'name' of undefined JS

本文关键字:未定义 JS name 设置 属性      更新时间:2023-10-16

我正在努力理解JavaScript原型,当我尝试对此进行编码时,我得到了一个错误:

function Person(firstname, last name) {
  this.firstname = firstname;
  this.lastname = lastname;
}
var A = new Person('John', 'Doe');
A.prototype.name = 'Toby';

我收到一个错误,说明无法设置未定义的属性"name"。我不能在对象a的原型上分配一个属性吗?这只是一个简单的练习,可以了解原型

对象没有原型属性(除非您创建了原型属性)。通常只为构造函数的prototype属性赋值:

function Person(firstname, lastname) {
  this.firstname = firstname;
  this.lastname = lastname;
}
Person.prototype.name = 'Toby';
var A = new Person('John', 'Doe');
// A.name === 'Toby';