首页IT科技js中object.create(JavaScript:{}、new Object和Object.create的区别)

js中object.create(JavaScript:{}、new Object和Object.create的区别)

时间2025-04-30 20:22:42分类IT科技浏览3215
导读:一、主要区别...

一           、主要区别

1                 、{} 和 new Object() 除了本身创建的对象            ,都继承了 Object 原型链上(Object.prototype)的属性或者方法                ,eg:toString();当创建的对象相同时     ,可以说 {} 等价于 new Object()            。

2     、Object.create() 是将创建的对象继承到原型链上            ,而本身没有继承 Object.prototype 的属性和方法                 。

二      、Object.create的用法

1.Object.create也可以创建一个空对象                 ,但是他的原型如果不指定则没有

2.Object.create如果值是某个对象那么他的原型就是这个对象

let obj1 = { a:10, b:20, sum(){ return this.a + this.b } } let obj5 = Object.create(obj1)

3.这时候obj5不等于obj1,而obj5的原型等于obj1     ,如果obj1新增属性      ,同步obj5的原型也可以获得

最后总结:Object.cerate() 必须接收一个对象参数                 ,创建的新对象的原型指向接收的参数对象           ,

new Object() 创建的新对象的原型指向的是 Object.prototype. (表述有点啰嗦      ,简洁点说就是前者继承指定对象                 , 后者继承内置对象Object)

可以通过Object.create(null) 创建一个干净的对象           ,也就是没有原型,

而 new Object() 创建的对象是 Object的实例                 ,原型永远指向Object.prototype.

声明:本站所有文章                ,如无特殊说明或标注,均为本站原创发布     。任何个人或组织            ,在未征得本站同意时                ,禁止复制                 、盗用           、采集      、发布本站内容到任何网站                 、书籍等各类媒体平台      。如若本站内容侵犯了原著者的合法权益     ,可联系我们进行处理                 。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
vue脚手架怎么创建项目(vue – Vue脚手架/TodoList案例) mac怎么录音乐(Mac系统中如何通过Dialogue进行iPhone电话录音)