星海

JavaScript · 单选题 · 第 13 题

前端与全栈开发面试 · 第 13 题

执行 function F() {} const f = new F(); 后,下列表达式结果为 true 的是?

  1. AObject.getPrototypeOf(f) === F.prototype
  2. Bf.prototype === F.prototype
  3. CObject.getPrototypeOf(F) === F.prototype
  4. DObject.getPrototypeOf(F.prototype) === F

答案

A A. Object.getPrototypeOf(f) === F.prototype

解析

new 会创建一个对象,并把它的原型指向构造函数的 prototype,所以实例的原型就是 F.prototype。实例对象本身没有 prototype 属性,f.prototype 是 undefined。函数 F 的原型是 Function.prototype;F.prototype 的原型是 Object.prototype,构造函数通过 F.prototype.constructor 才能找回 F。

在线刷这套题:即时判分、错题本、闪卡复习,不用登录就能练。