在javascript中,有什么区别:
var a = { steak:5, soup:2 };
var b = Object.create(a);
和
var a = { steak:5, soup:2 };
var b = a;
答案 0 :(得分:0)
区别在于a是b的原型,而不是同一个对象。
var a = { steak:5, soup:2 };
var b = a;
b.peas = 1;
console.log(a.peas); // 1
VS
var a = { steak:5, soup:2 };
var b = Object.create(a);
b.peas = 1;
console.log(a.peas); // undefined
答案 1 :(得分:0)
使用create时,您将使用给定的原型创建 new 对象。当您使用 = 运算符时,不创建新对象,只需将其引用复制到另一个变量。
参考:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/create
您可以测试
var a = { steak:5, soup:2 };
var b = Object.create(a);
// vs
var a = { steak:5, soup:2 };
var b = a;