发表于: 2016-12-28 23:51:36

7 1709


一、今天完成的事情:

1.看js基础;


2.写了一部分第一个页面的js代码;


二、明天要做的事情:

1.完成task4;


三、遇到的问题:

1.filter主要在于实现筛选,filter通过方法中传回的true或false来决定是否舍弃这个元素,他具有三个元素,(element,index,self)element表示传入的具体元素,index表示每个元素的下标,self表示函数本身,过滤掉的是为false的元素


2.sort是如何比较的:如果比较出来x<y就返回-1,如果x>y就返回1,但是sort在比较的时候会先使用arry的tostring的方法,把它转化为数组之后再进行比较,这样就会直接导致不可知的错误,但是sort是高阶函数,可以接受其他函数,所以我们在sort里插入新函数,给他返回-1和1就可以啦!还可以忽略大小写,对字母进行排序哟!


3.使用闭包的时候必须要注意,返回函数不要引用任何循环变量。如果一定要引用,必须要重新给他写个函数,并且让它自循环。


4.箭头函数修复了this调用出来后会指向window的问题,相当于让其有了一个块级的作用域。(x)+>x+x;


5.斐波拉切数列,从第三项开始,这一项等于前两项的和。用函数实现的方法很简单:t=a+b  a=b  b=t  函数计算是自上而下的,当循环到第二个的时候就用循环到用前一个的了。


未解决的:

6.在写杀手杀人页面的时候,我的思路是:给我的class写一个点击事件,点击之后判断里面是杀手还是平民,如果是杀手,弹出错误,如果是平民可以选择,并把选择之后的平民存入一个数组中,传入下一个页面,这样就能再下一个页面提取出来,但是,现在的问题是

  1.点击之后改变点击元素的css样式,但是多次点击之后,以前的样式不能恢复。

  2.点击之后会立即把选中的平民存入数组,这样。。多次点击就崩了,参数就传错误了。下面附上代码,明天去找师兄问问他们的想法:


function sbs() {
   var box_item = document.getElementsByClassName("u-idbox-item_id");
   for (var i = 0; i < box_item.length; i++) {
       if (box_item[i].getElementsByTagName("p")[0].innerHTML=="杀手") {
           box_item[i].onclick = function () {
               alert("别开枪!自己人!")
           }
       }
       if (box_item[i].getElementsByTagName("p")[0].innerHTML=="水民") {
           box_item[i].onclick = function () {
               this.style.backgroundColor="red";
               slectId.push(this);
           }
       }
   }
}


有点坚持不下去了。。想用jq了


返回列表 返回列表
评论

    分享到