首页 > 解决方案 > 在以下对象原型问题中面临一些问题

问题描述

我有以下代码 -

function x(a, b) {
  this.b = b || 'test';
  this.c = false;
}

x.prototype.z = function() {
  if(this.c) {
    console.log('hello')
  }
}

let n = function(a, b, v, d) {
  x.call(this,a, b);
  this.a = a;
  this.v = v;
  this.d = d;
}

n.prototype = Object.create(x.prototype);
let n1 = new n();

为 n1 设置了哪三个属性?--> 我发现只有 b,c 正在设置。但它要求 3 个选项

  1. C
  2. z
  3. v
  4. d
  5. b

标签: javascriptprototype

解决方案


这就是 n1 的样子

{
  a: undefined,
  b: "test",
  c: false,
  d: undefined,
  v: undefined,
  z: function() {
    if (this.c) {
      console.log('hello')
    }
  }
}

z 也有一个值,因为Object.create(x.prototype)我们复制了x.prototype.z函数。参考


推荐阅读