发表于: 2017-04-10 20:43:01
1 1563
今天完成的事情:完成任务三
明天计划的事情:成都停电,看看JS的语法书,后天计划开始学习任务四,听说要开启地狱模式
遇到的问题:1.参数传过来后需要构造HTML内容,想了一个笨办法和一个正常的办法。
(1)笨办法:由于杀人游戏所传输的数组并不算太多,最多18个。直接在HTML中构造18个信息栏,每个对应一个人物信息,然后将所有全部设置为display:none。通过for循环判断数组长度然后将和人数相等的信息栏设置block,再一一赋值。
优点:不用太多思考就能写
缺点:太TM笨了,得给每个信息栏不同的ID值,然后一个一个判断,人数多了就崩溃了
(2)正常法:通过JS书写一段字符串,字符串内容为HTML中一个框架的格式嵌套并且将数组中的值和当前数字嵌套在里面,通过循环判断有几位玩家,然后输出几个已经赋值的信息栏。
优点:即使有1000个人玩,也能用很快写出来
缺点:写字符串的时候容易漏写符号,导致输出的HTML格式出错。
(3)正常法的变型:不用写字符串,用DOM的createElement来创建几个字符串变量,再通过变量进行创造HTML元素。
优点:不会写错字符串导致输出HTML不正确
缺点:书写起来有点绕。。
2.在写输出HTML的JS函数时,用了两个函数进行调用。调试的时候发现HTML中没有内容输出,但是也没有任何报错。断点检查的时候,获取数组没问题,数组内容都正常,被调用的函数没问题,for循环判断也没问题,在将字符串赋值给变量也是正常的。最终用innerHTML就是没有任何内容!!自己反复修改了俩小时无果,后请少华师兄和李婷师姐两人帮忙,也是没发现哪里有错误。最终是将JS的函数模式从一个函数调用另一个函数,变成一个函数中嵌套另一个函数,这样就可以正常运行了。但是始终也没有搞懂最初的bug是为什么!
收获:bug不可怕,看不到原因的bug才可怕
评论