【发布时间】:2016-04-18 18:33:49
【问题描述】:
我正在阅读 JavaScript: The Good Parts 一书。据说
JavaScript 中的对象是可变键集合。
可变键集合是什么意思?
据我在互联网上找到的,可变意味着 vales 可以更改。我找不到 keyed collection 是什么意思。
【问题讨论】:
标签: javascript
我正在阅读 JavaScript: The Good Parts 一书。据说
JavaScript 中的对象是可变键集合。
可变键集合是什么意思?
据我在互联网上找到的,可变意味着 vales 可以更改。我找不到 keyed collection 是什么意思。
【问题讨论】:
标签: javascript
对象是具有关联值的键的集合。这可以称为“键控集合”:
var o = {
foo: "bar",
bar: "baz"
}
(这里foo 和bar 是键)。
...可以更改(正如您已经说过的,“可变”部分):
o.foo = "foobar";
o.foobar = "bar";
【讨论】:
o.foo = function() { ... },这里的“foo”就是关键。
Object 之外的任何内容都是不可变的(无法更改)我们可以更改String/Number..的值。
这里的keyed关键字表示数据是“命名的”、“索引的”或“键控的”。
{
key : value,
key2: value2
}
一个集合,因为它包含一个数据集合。
【讨论】:
这是关于对象在 Javascript 中的工作方式,例如,它们的行为类似于 C# 字典或 PHP 中的命名数组。 obj.someKey 等价于 obj['someKey'],您可以随时更改与这些键关联的值或删除它们。
更高级:键唯一标识与其存储的值,系统针对性能进行了优化,因此您可以使用它来索引信息或获取列表的不同值等。
【讨论】: