给定以下代码示例:
var base = {
one: "one",
two: 2,
test: function() { return "test"; }
};
var derived1 = new Object(base);
function Ctor() { };
Ctor.prototype = base;
var derived2 = new Ctor();
var proto1 = Object.getPrototypeOf(derived1);
var proto2 = Object.getPrototypeOf(derived2);
var isProto1Base = proto1 === base;
var isProto2Base = proto2 === base;
我曾期望 isProto1Base 和 isProto2Base 都是真的。但是,isProto1Base === false 和 isProto2Base === true。这是为什么?
编辑:固定标题以反映代码