在youtube video(大约46:30) Douglas 举一个对象继承的例子:
myNewObject
继承自myOldObject
如果已修改myNewObject.name
,则幻灯片中的myOldObject.name
不会更改。
但我自己尝试了以下片段:
<script>
var a = {name:"John",age:5}
var b = Object(a)
b.name = "Ted"
b.age = 6
console.log(a)
console.log(b)
</script>
输出显示,不仅a.name
和a.age
发生了变化,而b.name
和b.age
也发生了变化:
道格拉斯错了吗?还是有什么我想念的?因为如果他错了,这是一个很大的错误。
答案 0 :(得分:0)
您没有继承该对象。 Check out MDN
var a = {name:"John",age:5};
var b={};
b.prototype= Object(a.prototype);
b.name = "Ted";
b.age = 6;
console.log(a);
console.log(b);
答案 1 :(得分:0)
var a = {
name: "John",
age: 5
}
var b = Object.create(a)
b.name = "Ted"
b.age = 6
console.log(a)
console.log(b)
&#13;
只需使用Object.create
代替object()
方法。