当我检查instanceof
方法时,结果不一样。
function A(){}
function B(){};
首先,我将prototype
(参考)属性分配到A
A.prototype = B.prototype;
var carA = new A();
console.log( B.prototype.constructor );
console.log( A.prototype.constructor == B );
console.log( B.prototype.constructor == B );
console.log( carA instanceof A );
console.log( carA instanceof B );
上面返回的最后 4 个条件true
。
但是当我试图分配constructor
B .. 结果不一样。
A.prototype.constructor = B.prototype.constructor;
var carA = new A();
console.log( B.prototype.constructor );
console.log( A.prototype.constructor == B );
console.log( B.prototype.constructor == B );
console.log( carA instanceof A );
console.log( carA instanceof B );
在这种情况下carA instanceof B
返回false
。为什么它返回 false