【发布时间】:2014-09-20 05:35:10
【问题描述】:
我真的不明白这一点。谁能给我解释一下?来自https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys。
// getFoo is property which isn't enumerable
var my_obj = Object.create({}, { getFoo : { value : function () { return this.foo } } });
my_obj.foo = 1;
alert(Object.keys(my_obj)); // will alert only foo
【问题讨论】:
-
你到底有什么不明白的?这种行为有什么令人惊讶的?您预期会发生什么,您的预期背后的原因是什么?
-
// will alert only foo的评论意味着他的预期不止于此。他希望getFoo也能成为一把钥匙。 -
我对编程有点陌生。我了解对象、函数、警报以及哈希如何工作的想法(例如 ruby)。在这里,我有点难以理解发生了什么。例如,我不知道 getFoo 做了什么。有很多大括号,所以让我感到困惑。我假设 {} 部分指定了原型。为什么 my_obj.foo = 1?
标签: javascript oop object hash