【问题标题】:What are JavaScript objects and when would they be useful?什么是 JavaScript 对象,它们什么时候有用?
【发布时间】:2010-09-05 01:13:13
【问题描述】:

我刚刚听说过 JavaScript 对象,想知道它们是什么(因为我找不到任何信息)以及它们有什么用处。

我真的只是需要帮助。对不起,我是初学者。

【问题讨论】:

  • 这是一个关于 JSON 还是关于一般对象的问题?
  • 您能说得更具体些吗?如果你想要 javascript 中可用的对象列表 - 你去:devx.com/projectcool/Article/19993
  • @chromedude:认真的?你试过这个吗? google.com/#hl=en&q=javascript+objects
  • @quixoto 是的,我做到了,我的意思是您将放入数组中的类型。这些结果没有显示我想要的。抱歉,我对 javascript 很陌生。
  • @chromedude:请参阅 Daniel 的答案以获取示例。它们可以是任何东西。很抱歉我太苛刻了——关于如此基本的事情的“无法找到任何信息”的声明听起来就像你没有尝试去发现一样。

标签: javascript object


【解决方案1】:

除了少数基本类型(数字、字符串、布尔值、null 和未定义)之外,JavaScript 中的一切都是对象(甚至是函数)。

对象基本上是属性的容器,恰好对于收集和组织数据非常有用。

创建对象的一种流行方法是使用对象字面量表示法:

var emptyObject = {};

var myFirstObject = {
   'name': 'Bobby',
   'surname': 'Smith'
};

如果名称是合法的 JavaScript 标识符而不是保留字,则属性名称周围的引号是可选的。属性的名称可以是任何字符串。对象可以包含其他对象,因此它们可以轻松地表示树或图形:

var myFlight = {
   'airline': 'Airline Name',
   'number': 'AN700',
   'departure': {
      'IATA': 'SYD',
      'time': '2010-09-04 23:10:00'
   },
   'arrival': {
      'IATA': 'LAX',
      'time': '2010-09-05 05:14:00'
   }      
};

JavaScript 对象也恰好是一个方便的hash table 数据结构。您可以轻松地执行以下操作:

var myHashTable = {};
myHashTable['name'] = 'Bobby';
myHashTable['surname'] = 'Smith';
alert(myHashTable['name'] + ' ' + myHashTable['surname']);

这绝对不是一个详尽的答案,但我希望它能让你在进一步研究时朝着正确的方向前进。

【讨论】:

  • 这正是我所说的。对象是否特别适合(您在代码中显示的类型)?
  • @chromedude:再次更新。提到的哈希表,非常有用。
  • @Daniel Vassallo 嗯...我想我没有完全得到哈希表的例子。什么是哈希表?
  • @chromedude:它们是非常方便(通常很快)的数据结构。维基百科有更多信息:en.wikipedia.org/wiki/Hash_table,但您也可以在线找到更多信息。
【解决方案2】:

嗯,最好的信息来源是 ECMASCript 规范(当然):)

在 JavaScript 中有 6 种类型......其中 5 种是原始类型,第 6 种类型是对象。 对象是所有函数、所有数组、宿主对象(如窗口对象、文档对象、每个 DOM 节点)、内置构造函数对象(日期、错误、...)、其他内置对象(数学、JSON) ...

当有人说 JavaScript 对象时,他通常指的是 ECMAScript 规范第 15 章中定义的原生对象。

【讨论】:

    【解决方案3】:

    简短的回答:如果您从“一切都是对象”的角度来思考,这会有所帮助。

    更长的答案:

    Javascript 具有“数据”(例如,您的变量“john”及其包含的值)和“函数”(作用于数据的 Javascript 代码位)。

    “对象”是一种将“数据”和“功能”结合在一个地方的编程结构。 “对象”是一种比“数据”或“函数”更强大的构造。

    例如,“形状”对象(“对象类”)可能知道如何“绘制”自身(“对象方法”),无论它是“正方形”、“圆形”还是“三角形”(所有“对象实例”)。

    正如 Daniel Vassallo 上面所指出的,“对象”也可以是“属性的容器”。

    '希望有帮助

    【讨论】:

      猜你喜欢
      • 2010-11-26
      • 1970-01-01
      • 2019-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多