14、Object.create()、new Object()和{}的区别

14.1 三者的区别

  • new的方式创建对象和通过字面量创建有什么区别
  • 字面量和new关键字创建的对象是Object的实例,原型指向Object.prototype,继承内置对象Object
  • Object.create(arg, pro)创建的对象的原型取决于argargnull,新对象是空对象,没有原型,不继承任何对象;arg为指定对象,新对象的原型指向指定对象,继承指定对象

14.2 Object.create()

Object.create()方法创建一个新对象,使用现有的对象来提供新创建的对象的__proto__

MDN-Object.create()

Object.create(proto,[propertiesObject])
  • proto
    必填参数,新创建对象的原型对象(一个对象或者null

注意:如果为null,那新对象就彻彻底底是个空对象,没有继承Object.prototype上的任何属性和方法,如hasOwnProperty()、toString()等。

  • propertiesObject
    可选。需要传入一个对象,该对象指定要添加到新对象上的可枚举的属性(即其自定义的属性和方法,可用hasOwnProperty()获取的,而不是原型对象上的)的描述符及相应的属性名称。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值