【发布时间】:2013-07-17 13:29:08
【问题描述】:
当我检查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 。
但是当我尝试分配 B 的constructor 时,结果不一样。
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
【问题讨论】:
标签: javascript jquery javascript-objects