下⾯ JavaScript 代码的输出是什么?

function Person(firstName, lastName) {
  this.firstName = firstName;
  this.lastName = lastName;
}

const member = new Person("开卷", "题库");
Person.getFullName = () => this.firstName + this.last
console.log(member.getFullName());
893 次浏览
  • A、TypeError
  • B、SyntaxError
  • C、开卷题库
  • D、undefined undefined
您不能像使⽤常规对象那样向构造函数添加属性。 如果要⼀次向所有对象添加功能,则必须使⽤原型。 所以在这种情况下应该这样写: Person.prototype.getFullName = function () { return `${this.firstName} ${this.lastName}`; } 这样会使 member.getFullName() 是可⽤的,为什么样做是对的? 假设我们将此⽅法添加到构造函数本⾝。 也许不是每个 Person 实例都需要这种⽅法。这会浪费⼤量内存空间,因为它们仍然具有该属性,这占⽤了每个实例的内存空间。 相反,如果我们只将它添加到原型中,我们只需将它放在内存中的⼀个位置,但它们都可以访问它!
挑战失败
1年前
挑战失败
1年前
挑战失败
1年前
挑战失败
1年前
挑战失败
1年前
挑战失败
1年前
挑战失败
1年前
挑战失败
1年前
挑战失败
1年前
挑战失败
1年前

微信公众号

有课学公众号
  • 微信公众号: geekdaxue