
1.6.1 对象是什么
可以把对象视为名词——一个物件。例如,椅子是对象。含有属性和函数的任何东西都是对象,属性是特定事物(或对象)共同具有的特征、特点或特色,而函数是对或被对象执行的处理或操作。对象无所不在,如椅子、书和洗衣机都是对象。
以洗衣机为例,它无疑有属性:利用金属做成的,有浴盆、马达和齿轮箱,而且有特定的尺寸。在写出一长串属性之后,我们可能知道一台洗衣机看起来像什么,但是仍然还没有足够的信息定义它。我们也必须考虑它的函数,也就是它实现的洗衣过程:开机、注水、搅动、排水、清洗、快速旋转和关机。最后,我们需要知道对象的用途,如本例的洗衣机对象通常用于洗涤衣服、手巾和毛毯等。综合考虑属性、函数和用途,我们就能够完全描述一个有用的对象。
以下是一台洗衣机(也适于任何有用的对象)的重要特征:
·你不一定要知道它的内部工作原理。
·如果一个对象已被某个人创建好并且可用来购买(或者免费使用),那么你就不一定要自己建造它。
在程序设计中,包含属性(数据)和函数(处理)的对象为我们提供解决问题的封装方法。
当你在一个文字处理程序(如微软Word)中写一份文档时,通过单击“Save As”命令第一次保存文档后,将打开一个窗口。这个窗口的顶端标题栏通常显示为“Save As”,而左边显示文件夹,右边显示文件和文件夹,并且在窗口的底部有一个文本框可用于录入文件名。当你再次打开Word并且想要打开一份新文档时,单击“Open”命令将出现一个非常相似的窗口。其顶端标题栏现在显示“Open”,左边仍然显示文件夹目录,右边列出文件和文件夹,并且在窗口的底部还是有一个文本框用于录入文件名。这个弹出的对话框已经被微软程序员编码为一个对象,通过改变不同的属性(如在顶端上的文本)和函数(如保存指定文件或打开选择的文件),使得相同的对象能为不同的任务重复使用。
在学习JavaScript程序设计的过程中,你将会了解到网页的各种不同部分都被处理为对象,也可以定义自己的对象来创建复杂的程序。然而,本书主要强调现有对象的使用,而不是创建自己的对象。