为了账号安全,请及时绑定邮箱和手机立即绑定

var obj=new Object(a)和var obj=Object.create(a);创建对象的方法有什么区别

var obj=new Object(a)和var obj=Object.create(a);创建对象的方法有什么区别

慕姐8259394 2017-09-04 23:20:32
var a={x:1};var obj=new Object(a);obj.x;obj.hasOwnProperty("x");//输出truevar a={x:1} var obj=Object.create(a); obj.x;obj.hasOwnProperty("x");//输出false以上这两种方法有什么区别,第一种为什么会输出true明明x属性是由对象a传进来的,第一种的原型是指向Object.prototype吗?
查看完整描述

1 回答

?
anet

TA贡献79条经验 获得超19个赞

这种内置函数,文档里说的清清楚楚。

你给Object传递a这个引用值,说白了就是obj和a指向同一个对象,所以为true。

create的第一个参数是原型,也就是说obj从a继承属性,当然为false

查看完整回答
反对 回复 2017-09-04
  • 1 回答
  • 0 关注
  • 1704 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信