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
网友评论