上一页 首页 下一页

JavaScript高级教程

JavaScript高级教程
JavaScript高级教程 - 第四课
MCHWEB

第五页:对象的优点

我们已经看过许多有关 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课 ]



上一页 首页 下一页