`
v5browser
  • 浏览: 1140432 次
社区版块
存档分类
最新评论

Object.create疑问

 
阅读更多

今天有人提问:Object.create疑问,正好最近在翻译 javascript 的文章——javascript的12个怪癖

用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属性的值?


于是我在 Chrome 的控制台调试了一下,给出了这个答案:


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

我截了一张图:

请输入图片描述


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics