本次Lab要完成的是一系列 Javascript 语言相关的练习。本次练习共有四个部分组成,前三个部分为必答题,最后一题为选答题,如果做完前三道题之后尚有空余时间,请务必在最后一题中写下你对本次Lab设计的宝贵意见,这有助于我们在将来更好地改进我们的工作。必答题的前两题相对比较简单,请大家控制好时间,不要拖的太长。第三题会要求大家完成一个完整的脚本程序,由于大家第一次接触 Javascript,而且将来也不一定有机会再写这样相对复杂的脚本,所以这一部分对大家来说可能会比较有难度。建议大家在做第三部分之前先回忆一下通用对象访问方法和正则表达式相关的内容,以免把过多时间花在调错和字符串解析上。第三部分 HTML 以及相关资源已经给出,ID也已经帮大家在标签中标注,至于如何在页面中加入 Javascript 大家自己决定,不作强行规定。
本次Lab要用到的文件在“lab/lab3”目录下,请于下午17:00之前把你自己做的Lab答案(包括HTML文件、js文件和用到的图片文件)打包上传到学院FTP的“class/04/Web应用基础/Lab/Lab3/A”目录下,以自己的学号建立子目录。 本次Lab中所有选做的部分,都不作为评分依据。
一、脚本注释
请为以下脚本的代码添加注释。
代码源文件为 codeA.js,把注释加在其中即可。
要求的被注释对象:传入参数,返回值,每一段控制语句,请参见学习资料中有关示例,中英文皆可。

二、关键字造句
请用DO-WHILE,FOR-IN,WITH,NEW,ARRAY,TRY-CATCH-THROW,SWITCH,TYPEOF写一段脚本,HTML页面以 keywords.htm 保存,脚本内容和长度不限,语法正确即可。
三、脚本编程
在这一部分中,大家将完成一个炸弹程序。主界面如下。

所有相关图片声音资源都已经在 appA.rar 中提供,完成后请上传所有相关文件,并说明具体完成的功能点,并把未完成的代码注释掉,以免产生语法错误。
功能点描述:
1、实现炸弹引线的顺序剪切。在Serial Number的被成功锁定之后,按照一定顺序按红绿白蓝的小方块就可以拆除炸弹,若按的顺序错误,则炸弹会被引爆。每按下一块小方块,则将小方块的图片换成以_DOWN为后缀的图片。同一块小方块被第二次按下的操作被忽略,不考虑。引线的顺序可以固定不变,但对于每个锁定的Serial Number唯一(一个Serial Number不能有对应多个合法顺序)。
2、引线剪切的顺序随Serial Number的不同而发生变化,但Serial Number对应合法顺序的唯一性保持(选做)。
3、Serial Number的锁定。在文本框中输入符合以下格式的EMail地址字符串,后按LOCK,则可以开始引线剪除(按一定顺序按红绿白蓝的小方块),若格式不正确,炸弹爆炸。
格式说明: a)有@的EMail地址,@不能出现在第一位,也不能出现在最后一位。
b)EMail的用户名必须全是小写字母和数字,不能有其他字符。
c)EMail的域名必须以terrorist或者CT结尾,注意大小写相关(选做)。
4、炸弹爆炸或被拆除时更换图片。detonated.gif —— 被引爆了,defused.gif —— 被拆除了。bombStart.jpg则被相应更换为explode.jpg或bomb.jpg。炸弹爆炸或被拆除之后,任何按键都将失去作用。
5、为炸弹爆炸增加声音效果(选做)。
四、意见征集
你认为本次Lab的设计有什么不足或者应该进一步改进的地方?
写下你宝贵的意见,并以 advice.txt 保存。