对象(object)是使用JavaScript的核心。JavaScript中的对象在许多方面和现实世界中的对象是相似的(它的确存在)。现实世界中,对象就是“事务”(许多关于面向对象编程的书中把对象比作名词):汽车、桌子、椅子,还有我敲打的键盘。对象拥有:
1.属性(property,可以比作形容词)。这个汽车是红色的。
2.方法(method,像一个句子里的东西)。启动汽车的方法可能是转动车钥匙。
3.事件(event)。转动车钥匙导致了汽车启动——过程 + 结果 = 事件
面向对象编程(OOP)试图通过对现实世界中的对象建模来使编程更加统一。让我们来创建一个汽车的模拟程序。首先,我们会创建一个汽车对象,给它一些属性,如颜色和当前速度。接着我们需要创建方法:可能一个start方法来启动汽车,一个break方法来给汽车减速,在其中我们需要传递刹车力度信息来决定减速的效果。最后,我们需要一些事件,例如,汽油过低事件提醒我们给汽车加油。
面向对象编程就是要试用这些概念。这种设计软件的方式现在在许多编程领域都非常通用和流行,但对我们最重要的就是,它是JavaScript和Web浏览器编程的核心。
我们试用的一些对象是JavaScript这种语言规范提供的一部分,例如String对象、Date对象以及Math对象。同样的JavaScript对象会在一个PDF文件或者一个Web服务器中提供。这些对象提供了许多有用的功能,可以节省大量的变成事件。
举例来说,Date对象允许您从客户端获取当前的日期和时间。它保存日期,还提供了许多与日期相关的有用的函数,例如,把一个失去的日期/时间转换成为另一个失去的。这些对象通常称作为核心对象(core object),因为他们是独立于现实的。浏览器通关一些获取它的相关信息和改变应用程序界面外观的对象,使我们可以再JavaScript中使用这个对象来为浏览器用户查看的页面添加新的HTML元素。
如果你曾在不同的主机中使用JavaScript,假设使用一个Windows服务器,你会发现存在JavaScript的服务器提供了一组非常不同的主机对象,他们的功能与你想在Web服务器上做的事情是相关的。
JavaScript允许我们创建自己的对象。这是一个非常强大的特性,它允许我们试用JavaScript为现实世界的问题进行建模。要创建一个新的对象,我们需要使用一个叫做类(class)的模板来制定它的属性和方法。类与建筑师的图纸有点类似,它指定了什么东西应该到什么地方去做什么事情,但是他实际上并没有创建对象。
PS:JavaScript是基于对象的语言还是面向对象的语言,这个问题存在一些争论。不同之处在于基于对象的语言使用对象来编程但是不允许程序员在他们的代码设计中使用面向对象编程。面向对象的语言不只使用对象,也允许使用面向对象的设计方法来简化开发和代码设计。JavaScript允许我们创建自己的对象,但是与Java、C#等基于类的语言实现方式不同无论如何,我们在这里不要太计较面向对象是什么或不是什么,而是应该关注JavaScript对象如何实际应用。
还有与Java网站开发相关疑问请到提问。