第八天 使用对象
---------------------------------------------------------------------------
我们编写程序并不是仅仅为了使计算机计算表达式,就那JS来说,我们写一个脚本的最终目的是为了控制浏览器和浏览器中显示的东西.这时候我们就需要引入对象这个概念,什么是对象呢?我们从平时的生活来看,如果你想向别人介绍你用的计算机,首先你需要告诉别人你计算机的价格,什么CPU,什么主板等等,我们就把这称为计算机的属性;接着你会告诉别人你用计算机来做什么,编程,玩游戏,制图等等,我们就把这称为使用计算机的方法;最后我们点击开始或者双击开一个文件夹图标的时候,计算机就会自动对你的动作进行反应,我们就把这个情况称为计算机的事件.通过向你的朋友介绍完你计算机的属性,方法,事件之后,就可以全面描述你的计算机了.而我们就可以把你的计算机就可以看成一个对象.由此我们可以知道对象就是属性,方法,事件的集合.
我们可以从上面的例子看出来,每一个对象都有至少一个属性,有的甚至有两个或者更多,那么我们如何在一个脚本中引用一个对象的属性来实现我们要达到的效果呢?首先我们必须知道每个属性或者对象的明确是已经确定了的,我们可以做的就是调用它和修改它的参数.在任何情况下我们都可以用下面的格式来调用这个属性:
对象名.属性名
今天我们主要是讨论如何使用对象,至于对象的名称我们在以后会详细的讲解.那么我们来看个例子:
window.location
在这个表达式中,window是对象名,"."是属性访问符,location是属性名.这个属性就是我们平时看见的窗口中的地址栏.我们把它放在alert()中,就可以直观的看到他可以显示什么.
我们可以说location是相对与window的属性,但事实上他自己本身也是一个对象,我们还可以调用和修改location的属性,例如:
window.location.pathname
我们可以把应用对象属性的过程想象成一个树形结构,就想我们平时用资源管理器一样,一个个的分支,指向越来越细小的部分.和文件操作一样,有的文件属性是只读的有的是可以读写的,对象属性也是一样,当我们要改变对象属性的值的时候,我们就可以使用下面的语法:
对象名.属性名=修改值
说到这里,我就需要补充说明一个昨天我们没有提到的循环结构,主要是因为这个循环在面向大众化的脚本中用处不大,但在我们测试和调试脚本的时候我们将会频繁使用.for()...in
for(var 变量名 in 对象名){
需要循环的语句
}
我们假设要显示出location的全部属性,就可以使用下面的例子:
<script language="javascript" type="text/javascript">
<!--
for(var look_odject in location){
document.write(look_odject+"<br>")
}
-->
</script>
知道了for()..in如何使用,那么我们就来看一个最常见的例子吧,我们常用这段例子来检测在一段脚本中属性的名字和值.
<script language="javascript" type="text/javascript">
<!--
look_object(prompt("输入你要查找的对象:"))
function look_object(object_string){
var action_object=eval(object_string)
var pro_message="你要查找"+object_string+":\n\n"
for(var pro_name in action_object){
pro_message+=object_string+"."+pro_name+"="+action_object[pro_name]+"\n"
}
alert(pro_message)
}
-->
</script>
了解了对象的属性之后,我们来看看如何使用方法.一个对象也至少有一到两种方法,我们就利用这些方法来完成一些事情.那么我们如何使用对象的方法呢?
对象名.方法名()
我们看到和调用属性是一样的~只是调用的是方法名和一个括号,当我们想要设定方法的值的时候只要把表达式加到括号里就可以了,使用多个值的时候用","来隔开他们.例如我们使页面后退到前面浏览的页面,只需要调用一个方法:
history.back()
最近我们来看一个简化工作,举个例子,
document.write("one<br>")
document.wrire("tow<br>")
document.wrire("three<br>")
document.wrire("four<br>")
...........
这样看上去很罗唆,那么我们是不是应该把这些放在一个块里面呢?这时候我们就需要with().现在我们就来对上面的例子进行简化好了.
with(document){
write("one<br>")
wrire("tow<br>")
wrire("three<br>")
wrire("four<br>")
..............
}
这样我们就省去了输入document.的过程,而且方便了我们对代码的管理.今天我们就说到这里,明天我们来说对象的事件.至于原因,我们留在明天再说.
正 文
JavaScript学习从入门到精通
www.7dspace.com 更新日期:2005-8-16 3:13:06 七度空间
上一篇:Meta:HTML设计中的大作用
下一篇:制作主页的五十个秘诀
作者:24CG 来源:eNet网络学院 ( 责任编辑:7dspace )
站 内 搜 索

热 点 导 读

特 别 推 荐
