我在许多 JavaScript 介绍中读了很多。我只是不明白。我一直认为对象是具有方法和属性的东西。我理解的数组,因为它有键值对。 “字符串”或“数字”或“函数”怎么样?上面列出的这些东西对我来说似乎是功能。这意味着你输入了一些东西,你得到了一些东西。您并没有真正获得访问属性或任何东西。数组或“对象”列表中没有使用点符号。
有没有人用点符号编写其中每个示例的一些示例,以访问其方法和属性?我怀疑对象的定义可能是有限的,因为我确实开始学习 JavaScript …
原文由 Matt 发布,翻译遵循 CC BY-SA 4.0 许可协议
没错:在 JavaScript 中,几乎一切都是对象。但这些对象与我们在 Java、C++ 或其他常规语言中看到的有点不同。 JS 中的对象只是一个带有键值对的 hashmap。一个键总是一个字符串或一个符号,一个值可以是任何东西,包括字符串、整数、布尔值、函数、其他对象等。所以我可以像这样创建一个新对象:
并向其中添加新的键值对:
或者
同样,如果我想给这个对象添加一个新函数:
或者
现在,每当我调用此函数时,它都会显示一个带有消息的弹出窗口:
数组只是那些能够包含值列表的对象:
尽管您始终可以使用任何对象来存储值,但数组允许您存储它们而无需将每个对象关联一个键。所以你可以使用它的索引访问一个项目:
数组对象,就像 JS 中的任何其他对象一样,具有其属性,例如:
对于更深入的细节,我强烈推荐 John Resig 的 Pro JavaScript Techniques 。