发表于: 2016-12-19 23:49:47
0 1468
今天完成的事:
1. 基本完成了task4,一整天都在整理逻辑,学习面向对象的写法,写完之后感觉有些不伦不类的,但是逻辑还是没问题的.
明天计划的事情:
1. 开始task5,学习js的ajax请求.
遇到的问题:
1. 昨天this的问题很困扰,今天又细细的看了一遍.
this总是返回一个对象,简单说,就是返回属性或方法“当前”所在的对象,如果一个函数在全局环境中运行,那么this就是指顶层对象(浏览器中为window对象)
this的使用可以分成以下几个场合。
(1)全局环境
在全局环境使用this,它指的就是顶层对象window。
(2)构造函数
构造函数中的this,指的是实例对象。
(3)对象的方法
当A对象的方法被赋予B对象,该方法中的this就从指向A对象变成了指向B对象。所以要特别小心,将某个对象的方法赋值给另一个对象,会改变 this的指向。
使用的注意点
(1)避免多层this
由于this的指向是不确定的,所以切勿在函数中包含多层的this;
(2)避免数组处理方法中的this
数组的map和foreach方法,允许提供一个函数作为参数。这个函数内部不应该使用this。
(3)避免回调函数中的this
回调函数中的this往往会改变指向,最好避免使用。
2.在写一个逻辑之前可以尝试理一个逻辑流程图出来,实现的目的,用到的变量,变量创建的环节,更改的环节,调用的环节,是否需要返回到别的地方去
,别的地方是不是需要更改值.主要还是思路的问题,不被自己代码绕晕逻辑基本就不会乱.
3.还是有一些重复的代码,等js在熟练一些再来更改.
收获:
1. 更改了页面的bug,各种获取不到值后实现完整的游戏.
2. 对于页面逻辑的实现方法,就是理清思路,在细分拆解,分成一个一个的判断,循环,传递和更改值得过程,
不能是一步到位的想法.
3. 面向对象this关键字的作用,用法和一些基本的注意点.
4. 简要的看了一些ajax,以备明天的task5.
评论