var b = Object.create(a) vs. var b = a

var b = Object.create(a) vs. var b = a

本文关键字:var vs create Object      更新时间:2023-09-26

在javascript中,与

var a = { steak:5, soup:2 };
var b = Object.create(a);

var a = { steak:5, soup:2 };
var b = a;

区别在于a是b的原型,而不是同一个对象。

var a = { steak:5, soup:2 };
var b = a;
b.peas = 1;
console.log(a.peas); // 1

与。

var a = { steak:5, soup:2 };
var b = Object.create(a);
b.peas = 1;
console.log(a.peas); // undefined

当您使用create时,您正在使用给定的原型创建一个对象。使用=运算符时,不会创建新对象,而只是将其引用复制到另一个变量。

参考编号: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;

此处:http://jsfiddle.net/augusto1982/a8zjg1to/