很明显,
Object.create()出来的对象是没有继承Object这个大Boss的原型的。
我们都知道Object.create()是有两个参数的,我们再来看看下边的代码。
区别很明显了不是?
Object.create()不会继承大Boss Object上的原型,它会把你传入的第一个参数对象作为原型来继承,第二个参数是关于它自己的自有属性的描述。
而new 操作符以及对象字面量创建方式都会继承大老板 Object的原型上的属性方法。
末尾补充下
我们在new一个新对象的时候new 操作符到底干了些什么事儿?
1:创建一个空对象{}
2:空对象继承构函数的原型
3:将构造函数的this指向新对象并执行构造函数
4:返回构造函数的值或者this
网友评论