js中object.create(JavaScript:{}、new Object和Object.create的区别)
一 、主要区别
1 、{} 和 new Object() 除了本身创建的对象 ,都继承了 Object 原型链上(Object.prototype)的属性或者方法 ,eg:toString();当创建的对象相同时,可以说 {} 等价于 new Object() 。
2 、Object.create() 是将创建的对象继承到原型链上 ,而本身没有继承 Object.prototype 的属性和方法 。二 、Object.create的用法
1.Object.create也可以创建一个空对象 ,但是他的原型如果不指定则没有
2.Object.create如果值是某个对象那么他的原型就是这个对象
3.这时候obj5不等于obj1,而obj5的原型等于obj1 ,如果obj1新增属性 ,同步obj5的原型也可以获得
最后总结:Object.cerate() 必须接收一个对象参数 ,创建的新对象的原型指向接收的参数对象 ,
new Object() 创建的新对象的原型指向的是 Object.prototype. (表述有点啰嗦 ,简洁点说就是前者继承指定对象 , 后者继承内置对象Object)
可以通过Object.create(null) 创建一个干净的对象 ,也就是没有原型,
而 new Object() 创建的对象是 Object的实例 ,原型永远指向Object.prototype.
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!