发表于: 2019-12-05 23:49:19

1 1011


今日完成的工作

今天主要完成的工作是做出杀人的点击效果 。与在css中的焦点触发类似,当我们点在哪一个块上时这个块对应的下方会出现一把刀一样的记号。当我们我们点击另一个时其他的点击事件效果就会被覆盖掉,在这里面遇到了一个关于变量调用的问题。在我们for循环中的变量若是用var定义或是没有定义那么这个变量就会变成全局的变量,当我们在它的内部写函数时,并不能通过它是在for中的子元素而取到这个i。这个一个函数的特点,因为函数的特点时提前申明的,刚开始未执行时函数中的所有内容以字符串的形式存储,当我们在使用它的时候它寻找变量i只会在它的本身或者是上层中去找这个变量,所以在公有中的变量无法取到。这里面师兄为我讲了几种方法,一种是在for循环中的i给它用let定义,这样他能让for循环中的i生成一个私有的作用域,下级的函数也就能通过它的上层来取到这个变量i。第二中是用到了对象中的定义属性和方法的效果定义i为一个属性的私有变量,当我们在调用这个属性时,若在函数内部,this.属性指向的是触发这个函数的上文内容,若不是函数那针对的是整个window而言

第三中式在我们函数外层用一个函数给它包起来,最外层再加上小括号。小括号后跟另一个小括号里面放置传递的参数i

明天要完成的事情

明天主要要完成杀人执行后的变量给它传递过去,并且产生颜色变化,效果变换等等。涉及到的内容需要我们去做一个状态的保持,这里面可能还是要思考一下到底应该如何去完成好它才行


返回列表 返回列表
评论

    分享到