原型练习题

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

const member = new Person("Lydia", "Hallie");
Person.getFullName = function () {
  return `${this.firstName} ${this.lastName}`;
}

console.log(member.getFullName());

输出的结果为

  • A: TypeError
  • B: SyntaxError
  • C: Lydia Hallie
  • D: undefined undefined

解析

  • 输出的结果答案为A,因为getFullName是挂在Person上,并不是挂在Person的原型上,所有实例member并没有继承到getFullName函数,所以调用getFullName会报错。
  • 如果直接调用Person.getFullName()答案为D,因为此时的this指向为window。
  • 只有写成Person.prototype.getFullName答案才是C
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容