发表于: 2017-02-11 23:40:43
1 1199
今天完成的事情:
1. 判断杀人游戏的胜利结果,根据任务需求判定杀手/水民胜利并将数据传入结果页,根据游戏结果改变结果页DOM,完成结果页内容;
2. 从法官日记页面,点击开始按钮后记录时间,并建立空数组用以保存第n天游戏运行的时间;
3. 完成了整个任务4并回顾,检查是否有功能性bug;
4. 小课堂学习调试js的方法,了解alert,console和断点的用途以及一些优劣;
明天计划的事情:
1. 回顾任务4,试着解决其中的一些遗留问题如$(this)的指向问题,学习其他人的内容;
2. 开始任务5;
遇到的问题:
1. 昨天在写任务4-3杀人页面时,纠结于在本页面创建死亡玩家数组,再次回到该页面时需要读取,于是用
typeof (sessionStorage.deadsArr) == "undefined";
判断死亡玩家数组是否已存储,把代码分为两部分,即有死亡玩家和没有死亡玩家分开来写,今天在写运行游戏时间的时候,遇到了同一个问题,开始游戏按下后第一个页面写上开始时间,同时要建立运行时间的数组并存储,该页面下次进入时也需要读取,此时想到在开始游戏按钮的页面,onunload中就创立运行时间数组并存储,之后页面只需读取而不需建立,解决了矛盾,减少了代码量;
2. 刘明写代码时,遇到问题,一个作为全局对象定义过的数组,在onload调用时报错未定义,将代码段移出onload后正常运行,onload是在html页面加载结束后立即执行,报错原因没有很懂,测试onload中的事件写在js后面的话仍然会按单线程运行,此时应该对象已经声明,为什么会报错未定义?
收获:
1. 对于数组的运算有了进一步认识,要求数组的交集有多种方法,我用了代码精简的一种:
//先定义数组a,b
var a = [1,2,3];
var b = [1,3,5];
//通过下列函数就可求得交集c = [1,3];
c = a.filter(function(v){ return b.indexOf(v) > -1})
2. 在计算游戏运行时间时,通过Data()获得当前时间后,用getTime可以得到数据类型为数字的时间,单位为毫秒,用减法运算 第n天结束时间-开始时间 即得到游戏运行时间。要将毫秒转换为时,分,秒,我分别用了三个函数分别从毫秒换算时,分,秒,更简便的方法还值得学习。
评论