首页 > 开发 > JS > 正文

Object.create疑问

2017-09-05 13:02:01  来源:网友分享

用Object.create创建对象:

var O = {a: 1};var n = Object.create(O, {  a: {    value: 2,    enumerable:true  }});console.log(n); //{a: 2,a: 1}console.log(n.a); //2

后定义的a的值为何覆盖不了原型O中a属性的值?

解决方案

你用了其它的基于类面向对象的语言来思考 javascript。在 javascript 中,没有类,没有覆盖,没有负载,他是基于原型的。

我截了一张图: