5.2 对象访问语句
在JavaScript中,for…in语句和with语句都是专门应用于对象的语句。下面对这两个语句分别进行介绍。
5.2.1 for…in循环语句
for…in循环语句和for循环语句十分相似,用来遍历对象的所有属性。每次都将属性名作为字符串,保存在变量里。
语法格式:
for(variable in object ) { …statement }
在该语法中,variable是一个变量名,声明一个变量的var语句、数组的一个元素或者对象的一个属性(它应该是一个适用于赋值表达式左边的值);object是一个对象名,或者是计算结果为对象的表达式。statement通常是一个原始语句或者语句块,由它构成循环的主体。
下面应用for…in循环语句输出对象中的属性名和值。首先创建一个对象,并且指定对象的属性,然后应用for…in循环语句输出对象的所有属性和值。代码如下;
运行结果:
属性:user=××× 属性:age=23 属性:QQ=1838** 属性:e_mail=ppp***@sina.com
应用for…in循环语句可以为对象的每个属性执行一个语句集合,可以对JavaScript中的任何对象应用for…in循环语句。
【例5.14】 应用for…in循环语句输出document对象的属性和值。(实例位置:资源包\TM\sl\5\14)
首先定义两个变量,object01变量的值为document对象,object02的值为空,然后应用for…in循环语句将document对象的属性和值进行输出,并且将返回的值赋给object02,最后输出object02的值。运行结果如图5.15所示。
图5.15 应用for…in循环语句输出document对象的属性和值
代码如下:
<script language="javascript"> var object01=document; var object02=""; for(var object03 in object01){ object02=object03+"="+object01[object03]; document.write(object02+"<br>"); } </script>
5.2.2 with语句
with语句用于需要多次访问某个对象的属性或方法的情况下,可避免重复使用指定对象引用。
语法格式:
with(object){ statements }
参数说明:
object:指定statements块中没有引用的情况下使用哪个对象引用。
【例5.15】 当需要多次使用某个对象的属性或方法时,只要在with关键字后的括号“()”中写出该对象的名称,就可以在随后的大括号“{}”中直接引用该对象的属性名或方法名,不必再加上对象实例名和“.”。下面应用with语句实现date对象的多次应用。运行结果如图5.16所示。(实例位置:资源包\TM\sl\5\15)
图5.16 with语句的应用
代码如下: