2012-04-19 60 views
0

我想学习JavaScript对象,我花时间在互联网上并了解JavaScript对象,并且我很困惑什么是对象的使用以及如何在JavaScript中构建自己的对象。我也看到了一些他们使用自己的自定义对象的JavaScript函数。例如,我有一些代码。什么是javascript中的对象

var animationSections = { 
     'intro': 0, 
     'over': 200, 
     'around': 1600, 
     'through': 3500, 
     'share': 5000 
    }; 

我复制上面给出的代码从一个JavaScript文件是用于动画和他们使用该对象。

startAt: 0+animationSections.over 

现在我的问题上来了,为什么我们使用animationSections.over而我们可以用“200”

+0

我是新来的JavaScript,你可以看到,我问很多问题,在这里,我得到这个网站的反应就像是老师,我和遗憾关于我的英语我不擅长我的英语。 – Carlos 2012-04-19 04:29:11

+1

你可能想看看面向对象编程(http://en.wikipedia.org/wiki/Object-oriented_programming)是什么。 JavaScript是基于原型的(http://en.wikipedia.org/wiki/Prototype-based_programming),面向对象的语言。 – Joseph 2012-04-19 04:32:09

回答

1

这将是很好的有一些面向对象的编程background.So你可以了解更多更好的here.An对象有属性。在这个动画片段中是一个Object。它不是直接说200,而是通过Object.property机制来表示它。这会让你的代码更加简洁和易于维护。而且,在某段时间之后,当你在某段时间重新访问代码时,它会有点难以记住或者说为什么使用200.但是,如果维持一个对象并说'over',那么你就能够识别它的意义,它代表了context.Hope这会帮助你。

1

哪些对象是一个非常大的问题。对象的使用作为书中的章节进行详细说明。


要回答你的问题,你可以使用200,而不是animationSections.over

您的示例中对象的主要用途是编写更多描述/组织代码的更好方法。尽管如上所述,对象还有许多其他好处(例如循环遍历属性,本地化变量,作为参数传递等)。

对象的概念是作为键/值对的变量集合,其中值可以是静态或甚至函数引用。

1

在JavaScript中,所有不是原始值的东西都是对象。这意味着一个结构可以具有属性,并且具有(可以具有)它继承的原型对象。如何构建和使用它们将超出此答案的范围(short introduction)。


为什么我们不使用值200在这里?

我们可以,但如果我们需要它在其他地方,我们需要重复它。因为这是一个配置选项,所以我们可能需要在很多地方进行更改,所以我们在这里使用变量

为什么我们不在这里使用[一组]变量?

我们可以,但使用对象有一定的优势:

  • 它结构中的数据,在这里的选项。类似的结构将导致相似的选择。对于设置特别有用,您可以看到哪些选项属于一起,在这里:对于动画
  • 我们可以使用多个类似的对象(具有相同键的对象)。我们无法为不同的变量使用相同的变量名称。
  • 我们能遍历它(没有必要在这个例子中)
+0

即使是一个函数也是一个对象https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function – Eric 2012-04-19 04:45:00

+0

我说过了吗?或者你只是错过了明确的指示? – Bergi 2012-04-19 04:53:52