第五页:对象的优点
我们已经看过许多有关
JavaScript
现成的对象和它们的用法的
例子:如
Window, Image, Document,
Form
和其他一些
对象。记住:一个对象只不过是一种特殊类型的数据,由属性
和方法组成。属性是对象本身的一些东西,而方法则是能够加
之于对象上的一些操作。
比如,
Window
对象有自己的属性,像
window.status
,
它可
以被读取与设置。通过把一个字符串设置成
Window
对象的
status
属性,这个字符串将会显示在窗口的状态条里。
Window
也有自己的方法,如
window.focus()
,
即把窗口聚焦弹到前面。
如果你对这些都不熟悉的话,你也许该去看看
基础教程第五天
的课程。
使用对象给我们组织信息提供了一个很好的手段。首先我们看
看现实生活中的对象。比如说,一只猴子就是一个对象。它有
高度,宽度,毛发等等属性。所有的猴子都有相同的这些属性
类型,是属性的值的不同才使一只猴子与其它猴子区别开来。
猴子也有自己的方法,如玩儿
play()
,吃
eat()
,睡
sleep()
等。
对象很好理解还因为它能够保持有关词的“感觉”。例如
JavaScript
中的聚焦方法
focus()
,很显然就是使什么东西成为
焦点。当聚焦方法作用到窗口对象时,它使该窗口弹到前面。
而模糊则做相反的事儿。你可以试试:
打开一个小窗口
按下面的链接来看看小窗口如何弹到前面:
little_window.focus()
小窗口聚焦
;
但当你把聚焦方法作用到一个文本框时,它使该文本框出现一
个等待你输入的光标。
激活第一个文本框
:
window.document.the_form.the_first_text.focus();
激活第二个文本框
:
window.document.the_form.the_second_text.focus();
奇怪吗
?
JavaScript
知道对窗口的聚焦和对文本框的聚焦做的
不是一件事。在这两种情况里,聚焦的意思是一样的,所以很
自然都用了聚焦这个名字。但同样的聚焦方法对不同的对象会
做略微不同的事,这也很好理解。这种同一个方法因对象不同
而做不同的事情称为“多态性”,这也是面向对象程序设计的
基础。
就象同样的方法因对象不同而表现不同一样,对于不同的对象,
同样的属性也可以意味着不同的意思。比如
length
属性,在字
符串和数组两类对象中都有这个属性。
string.length
返回的是
字符串的长度,
而
array.length
返回的则是数组的元素个数。
两个的属性都叫
length
,但它们的意义随对象的不同而略有差
别。
使用对象也使得代码的拷贝与粘贴更容易了。如果你有一个很
好的对象库,你可以直接把整个对象拷贝下来用在你自己的
script
中任何需要的地方,如果你没有一个组织得很清晰的对象库要
作到这一点就难多了。
既然对象这么好用,
JavaScript
给你提供了创建自己对象的
能力。
>>
JavaScript高级教程
第一页
JavaScript
高级教程
-
第
4
天
第二页
图象映射与
JavaScript
第三页
预装图象 -
是什么
?
第四页
预装图象 -
怎么做?
第五页
对象的优点
第六页
创建你自己的对象
第七页
你的面向对象的虚拟宠物
第八页
计算字符串
第九页
获取难以索引的对象
第十页
另一种获取难以索引的对象的手段
第十一页
第四天课程复习
[
第1课
][
第2课
][
第3课
][第4课][
第5课
]
|