阅读下列说明和HTML文本,分析其中嵌入的JavaScript脚本,将应填入(n)处的语句写在对应栏内。 【说明】 在网页上显示漫天飞舞的雪花,雪花徐徐下落,如图10-1所示。 【 HTML文本】 <html> <head> <meta http-e

admin2010-05-10  36

问题 阅读下列说明和HTML文本,分析其中嵌入的JavaScript脚本,将应填入(n)处的语句写在对应栏内。
【说明】
在网页上显示漫天飞舞的雪花,雪花徐徐下落,如图10-1所示。

【 HTML文本】
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>漫天飞雪</title>
</head>

<body bgcolor="#008000">
<SCRIPT LANGUAG E="JavaScript1.2">
<!--
var no = 12;                  //设置雪花的总数
var speed = 10;              //设置速度,其值表示定时器间隔
var heart = "snow.gif";       //设置雪花图案文件
var flag;
var ns4up = (document.layers) ? 1: 0;  //测试是否是NetScape 浏览器
var ie4up = (document.all) ? 1: 0;     //测试是否是IE浏览器

var dx. xp, yp;
var am, stx, sty;
var i, doc_width = 800, doc_height = 600;  //设定并获取显示区域大小
if((1)){ //若是NetScape浏览器
   doc_width = self.innerWidth;
   doc_height = self.innerHeight;
}
else if (ie4up) {//若是IE 浏览器
   doc_width = document.body.clientWidth;
   doc_height = document.body.clientHeight;
}
dx = new Array();
xp = new  (2);
yp = new Array();
amx = new Array();
amy = new Array();
stx= new Array();
sty = new Array();
flag = new Array();
for (i = 0; i<(3); ++ i) {
     dx = 0;                       //设置坐标变量
     xp = Math.random()*(doc_width-30)+10;
     yp = Math.random()*doc_height;
     amy = 12+ Math.random()*20;
     amx = 10+ Math.random()*40;
     stx = 0.02 + Math.random()/10;
     sty = 0.7 + Math.random();
     flag = (Math.random()>0.5)?1:0;     //生成随机状态量
     if (ns4up) {                         //若是 NetScape 浏览器
     //输出雪花
     document.write("<layer name=\"dot"+ i +"\" left=\"15\" "};
     document.write("top=\"15\" visibility=\"show\"><IMG onClick=over(this) title=放大 src=\"");
     document.write(heart+ "\" border=\"0\"></layer>");
   } else
     if (ie4up) {                   //若是IE浏览器
         //输出雪花
         document.write("<div id=\"dot"+ i +"\" slyle=\"POSITION:");
         document.write("absolute; Z-INDEX: "+ i +"; VISIBILITY: ");
         document.write("visible; TOP: 15px; LEFT: 15px;\"><IMG onClick=over(this) title=放大 src=\" ");
         document.write(heart+ "\" border=\"0\"></div>");
      }
   }

function helpor_net() {
   for {i = 0; i<no; ++ i) {                 //逐个处理每片雪花
       if (yp > doc_height—50) {         //雪花已经飘到窗口下方
         xp = 10+ Math.random()*(doc_width--amx--30);
         yp = 0;
         flag=(Math,random()<0.5)? 1:0;
         stx = 0.02 +Math.random()/10;
         sty = 0.7+ Math.random();
         doc.width = self.innerWidth;
         doc height = self.innerHeight;
       }
       if ((4)) dx += stx;
       else dx -= stx;
       if (Math.abs(dx)>Math. Pl) {
          yp+=Math,abs(amy*dx);
          xp+=amx*dx;
          dx=0;
          flag=!flag;
       }
       //输出显示
       document. layers["dot" +i].top = yp + amy*(Math. abs(Math.sin(dx )+dx ));
       document. layers["dot" +i].left = xp + amx*dx;
   }
   setTimeout("helpor_net()",(5));      //设置定时器间隔
}
function www_helper_net() {
   for (i = 0; i<no; ++ i) {                 //逐个处理每片雪花
       if (yp >doc_height-50) {           //雪花已经飘到窗口下方
       xp = 10+ Math.random()*(doc_widih-amx -30);
       yp = 0;
       stx= 0.02 + Math.random()/10;
       sty = 0.7 + Math.random();
       flag=(Math.random()<0.5)?1:0;
       doc_width= document.body.clientWidth;
       doc_height = document.body.clientHeight;
     }
     if (flag) dx += stx;
     else dx- = stx;
     if (Math.abs(dx) > Math. Pl) {
       yp+=Math.abs(amy*dx);
       xp+=amx*dx;
       dx=0;
       flag=!flag;
     }
     //输出显示
     document.all["dot"+i].style.pixelTop = yp + amy*(Math.abs(Math.sin(dx)+dx));
     document.all["dot"+i].style.pixelLeft = xp + amx*dx;
   }
   setTimeout("www_helpor_net()", speed);   //设置定时器间隔
}
if (ns4up) {                    //若是NetScape浏览器
   helpor_net();
}
else if (ie4up) {               //若是IE浏览器
   www_helpor+net();
}
//-->
</script>
</body>
</html>

选项

答案(1)ns4up (2)Array() (3)no (4)flag[i] (5)speed

解析 本题考查在HTML文本中嵌入JavaScript脚本。题目要求实现在网页上显示漫天飞舞的雪花,雪花徐徐下落。这需要实现动态的效果,下面来具体分析程序。
   第(1)空是条件判断语句的条件,注释已经给出此条件判断语句的作用,是判断浏览器是否为NetScape浏览器,如果是NetScape浏览器,则执行条件判断下面的程序语句,由上面的程序不难看出变量ns4up中存放的是测试结果。如果是NetScape浏览器,则变量ns4up中存放1,因此答案为“ns4up”。
   第(2)空很明显是给变量xp赋一个值,且此空在关键字new后面,关键字new的作用是动态分配存储空间,从后面的程序不难看出xp是一个数组,那么在这里应该是要求动态生成一个数组,因此答案为“Array()”。
   第(3)空是条件循环的循环上界,结合程序和题目已知条件,可以推断出这个循环的作用是用来对浏览器的每朵雪花进行设置并输出的,从程序中我们可以看出,雪花的朵数为12,并存放在变量no中,因此答案为“no”。
   第(4)空是一个条件判断语句的条件,结合后面的程序不难看出,这个条件判断语句是用来判断随机生成的状态量是1还是0,如果是1,则判断语句结果为真,我们也可以结合下面一个函数体中对应的地方很容易得到答案,答案为“flag”。
第(5)空是一个函数的参数,这个函数的功能是设置定时器间隔,那么这个参数应该是时间间隔。这空同样可以从下面函数的对应位置找到相关答案,答案为“speed”。
转载请注明原文地址:https://kaotiyun.com/show/kd3Z777K
0

最新回复(0)