发表于: 2017-04-05 22:08:25
4 1038
一,今天完成的事情
(1)一直觉得自己原生Javascript的基础不太扎实,任务四做的很吃力,于是早上评完日报之后开始刷廖雪峰的教程,巩固了下基础知识,一直看到闭包觉得理解起来较为吃力,效率较低就先没看了。get到了map和reduce,这两个高级函数蛮好用的,map可以对一个数组里面的东西全部执行自定义的操作,比之前要用到循环简单很多,这个推荐韩阳看看,对他想解决一步到位的问题有帮助。reduce对数组做累计运算,简单来讲就是类似如下的表达式。
[x1, x2, x3, x4].reduce(f) = f(f(f(x1, x2), x3), x4)
(2)学到了把函数赋值给一个变量,var abr = fn;还有一个就是对象,对象也可以写成var abr:function().然后回过头来看下面的这个状态机,发现TMD就是写成了一个对象,然后把变量指定函数!!我的天,一下子就看懂了这个是干嘛用的,需要怎么调用,果然做不动去看看书是有好处的。
var menu = {
//当前状态
currentState: 'killer',
//绑定事件
initialize: function() {
var self = this;
self.on("click", self.transition);
},
//转换状态
transition: function () {
switch (this.currentState) {
case "killer":
this.currentState = 'dead';
change();
break;
case "dead":
this.currentState = 'killer';
change();
default:
console.log("Invalid State");
break;
}
}
};
(3)下午开始写法官页面,点击其中一个按钮,让之前的那个按钮的onclick alert(“请进行下一步操作”),下一个按钮的onclick alert(“请顺序操作”)。把按钮分为两种状态,一种点击后,一种点击前,写在一个变量里面,用sessionStorage储存,跳转回来之后还能保持住状态。
(4)杀手杀人页面的需求分析了下,1.点击图标后点击确定。
杀人改变人的生死状态,死之后的图标背景色变化,且再点击会提醒玩家死亡无法操作,活着的点击事件和死了不同。
杀手无法自相残杀,弹窗提醒。
二,明天要做的事情
完成任务四的JS版本。
三,遇到的问题
函数传参,调用的问题,写好的函数this指向不是很懂,后来问了二大才搞懂这个东西。
四,收获
1.完成了法官台本页面的逻辑,点击事件,存储变量。
2.理清了杀手杀人页面的需求。
3.学到了map和reduce操作,温习了下之前学的数组(如何操作数组,push,pop等函数),对象这些知识点。
评论