用Object.create(obj)创建出来的对象是以obj为原型的一个对象,该对象是obj的类型的实例可以理解,但是为什么这个对象同时也是以obj为原型的类型的实例呢?
代码如下:
function Father(){};
var father=new Father;
function Son1() {};
Son1.prototype=father;
function Son2() {};
Son2.prototype=father;
var target=Object.create(father);
console.log(target instanceof Son1); //true
console.log(target instanceof Son2); //true
总感觉target和Son1、Son2是同级,但是结果是target同时是Son1和Son2的实例,这很费解~
相关分类