题库 题库

【简答题】

试题四(15分)
[说明]
  以下的JavaScript脚本的功能是创建一个基于resume模型(表示简历)的对象newguy(表示张春芳的简历),并生成一个下拉列表框。该下拉列表框的选项是对象newguy的所有属性(如name,sex等)。用户在下拉列表框中选择了某个属性时,就会打开一个新的浏览器窗口并输出该属性的值。例如,若用户选择了sex属性时,则会在浏览器窗口中输出:您查阅的属性为“sex”,其值为“女”。
  一个下拉列表框的HTML文法如下例:
<select size="1" name="example">
<option value="1">选项一</option>
<option value="2">选项二</option>
</select>
  下拉列表框的每一个选项都由option与value两部分组成,option为用户可见的选项信息,value为该选项的值。在JavaScript中,该下拉列表框是一个对象,option数组是该对象的属性。 在上例中, example.option[1].text的值为“选项一”, 而example.option[1].value的值为“1”。

[HTML文本]
object.html中的内容:
<html><head><title>对象的创建与使用</title>
<script language="javaScript”>
<!--
function printvalue() {
var print_string="";
for( (1) ) {
if (prop !='printvalue') //方法printvalue不能作为属性显示
print_string=print_string+"<option value='" &
+this[prop]+"'>"+prop+"</option>";
}//形成下拉列表框option部分的HTML文法字符串
return print_string;
} //该函数用于产生下拉列表框option部分的HTML文法字符串
(2) resume (name,sex,address,phone) {
this.name=name; this.sex=sex;
this.address=address; this.phone=phone;
//以上为初始化模型的各属性
this.printvalue= (3) ;
//将printvale函数映射为resume的printvalue方法
}//声明一个新的对象模型resume。该模型为个人简历,用于创建个人简历对象
function displayvalue(selobj) {
var disp_string
disp_string="您查阅的属性为'"+ (4) +"'其值为'"+&
(5) +"'"; //产生字符串
newwin=window.open("","hello","");//打开新浏览器窗口
(6) ; //在新窗口中打开文档
newwin.document.write(disp_string);//在文档中显示信息
}
--> </script></head>
<body>
<script language="JavaScript">
<!--
newguy= (7) ("张春芳","女","北京朝阳路57号","010-67456789");
//创建一个新的resume对象,对象名称为newguy
document.write("<form method='POST' action=''>");
document.write("<p><select onChange='displayvalue(this)' name='resume' size='1'>");
//指定下拉列表框在选择改变时触发displayvalue函数
document.write( (8) ); //输出列表框的options部分
document.write("</select></p></form>");
//利用对象newguy的方法printvalue产生该下拉列表框的HTML文法
-->
</script></body></html>

参考答案

(1) var prop in this
(2) function
(3) printvalue
(4) selobj.options[selobj.selectedIndex].text
(5) selobj.options[selobj.selectedIndex].value
(6) newwin.document.open()
(7) new resume
(8) newguy.printvalue()

相关试题