发表于: 2016-12-30 23:59:07
1 1381
今天完成的事情:
1、今天终于写完了任务4的JS部分,给杀人游戏画上了一个完整的句号。
今天主要写了杀人页面、投票页面、黑夜解密页面以及最后的结果页面的JS部分。
其实,剩下的工作就是代码重构了。感觉两个黑夜解密页面其实可以合并的,投票页和杀人页也是可以合并的。因为想到以后合并的事,所以这两组页面不论是html、css,还是js,写得都很相似。做一点点处理,就可以合并了。
2、听罗宇讲关于浅拷贝和深拷贝方面的知识。
明天计划的事情:
开始准备任务5,同时继续看关于JS方面的知识。
遇到的问题:
用死亡人数数组deathArr取了缓存的数后,犯了二逼症,又新建了deathArr[]。使得每次投票、揭秘后,感觉存储的数据都被清空了,杀人页又重新开始,以前保存关于deathArr的数据全没了。折腾了好久,用JS反复调试,语法均没错误。于是怀疑是否缓存存错了,搞了半天,均没发现错误。于是代码用在浏览器中一行一行调试,代码也OK。最后,只能逐行的进行逻辑分析,并查看调试的数据结果。才发现了这个及其隐晦的错误。因为,这种错误,在语法上没有错误,逻辑上只有一点点的小瑕疵,但是可行的,只是和预期不符。所以,导致很难发现。
看罗宇讲拷贝方面的知识。他演示关于把一个对象的全部属性赋值给另一个变量时,他先遍历第一个的所有属性,然后分别赋给后面的对象。我感觉这种方法太麻烦了,于是在私底下做了demo。发现:其实可以直接把第一个变量赋给第二个变量,即整体赋值,也可以达到同样的目的。例如:
var personA={"name":"Bob","job":"teacher","age":"24"};
var personB=personA;
console.log(personB.age);
显示的结果是personB的age为24
收获:
1、对JS代码的调试越来越得心应手;
2、学习了JS关于拷贝方面的知识。
评论