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
添加回答
举报
0/150
提交
取消