数组原型

时间:2017-11-05 20:42:50

标签: javascript function prototype

我正在尝试更改代码,以便测试(" if condition(both))返回true



function X(x) {
  this.x = x;
}

function Y(y) {
  this.y = y;
}

var x = new X(1);
var y = new Y("abc")

if (y instanceof X)
  console.log("true");

if (x instanceof Y)
  console.log("true");




这是我到目前为止所尝试的,但我没有得到正确的结果。



function X(x) {
  this.x = x;
}

function Y(y) {
  this.y = y;
}

X.prototype = Object.create(Y.prototype);
X.constructor = X;

var x = new X(1);
var y = new Y("abc");

if (y instanceof X)
  console.log("true");
if (x instanceof Y)
  console.log("true");




我只能更改一个对象变量。不是两个。我正在尝试将结果都返回true。

1 个答案:

答案 0 :(得分:0)

正如我之前所说,唯一的方法是骗取instanceof:

function A(){
   return Object.create(B.prototype);
}

function B(){
   return Object.create(A.prototype);
}

这样你就有了交叉继承,所以用A创建的所有元素都从B继承,反之亦然。 Try it