Object.create() 和 new 操作符创建对象 和 对象字面量创建对象三者之间的区别

很明显,

Object.create()出来的对象是没有继承Object这个大Boss的原型的。

我们都知道Object.create()是有两个参数的,我们再来看看下边的代码。

区别很明显了不是?

Object.create()不会继承大Boss Object上的原型,它会把你传入的第一个参数对象作为原型来继承,第二个参数是关于它自己的自有属性的描述。

而new 操作符以及对象字面量创建方式都会继承大老板 Object的原型上的属性方法。

末尾补充下

我们在new一个新对象的时候new 操作符到底干了些什么事儿?

1:创建一个空对象{}

2:空对象继承构函数的原型

3:将构造函数的this指向新对象并执行构造函数

4:返回构造函数的值或者this

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。