1、使用面向对象的方式来做这个案例---注意:面向对象是面向过程的封装,不是完全替代了面向过程
案例一:随机生成小方块
思考:1、这个案例里可以抽象出哪些对象---方块对象
2、随机生成颜色、随机生成位置 ---生成随机数--封装成函数,封装成函数比较散,为了方便管理,把不同功能的函数封装在不同对象的方法中-----工具对象
所以这个项目会有2个对象
方块对象 + 工具对象 (封装很多功能函数)
方块对象有很多,这些对象都很类似,所以我们可以通过构造函数的方式来创建对象:批量创建相似类型的对象。
工具对象在整个项目中只有一个,所以直接用创建普通对象的方式来创建工具对象就行。
代码实现:
1、创建工具对象---对象的方法来封装些功能(生成随机数)
2、创建方块对象
a、创建构造函数
b、分析方块对象的成员---即构造函数的属性、方法(无对错,只有合适不合适):
属性:方块的背景颜色、方块的大小、方块的坐标、
方法:随机生成自己的坐标
3、随机生成方块的调用---实现随机生成方块
案例二:贪吃蛇游戏
第一步:看哪些可以抽象成对象(物、事都可以抽象成对象)
蛇 + 食物 (物) 、 游戏对象(事)控制游戏的逻辑
第二步:创建对象(构造函数 、对象成员)
先写最简单的对象
a、食物: 有哪些成员 ---(属性) 坐标 大小 颜色 + (方法)随机创建一个食物对象,并显示在界面上
随机生成食物的坐标的x、y的范围
蛇遇到食物之后要删除食物
把之前写的代码都放在一个自调用函数中,避免全局污染
b、蛇对象
c、游戏对象
3、贪吃蛇游戏的优化
合并js文件:每一个文件访问的时候都会建立一个连接,这样我们的访问网页的速度也会变慢,我们最后上线的时候打包合成一个js文件,这样可以提高网页的访问速度
压缩(文件体积小,下载速度会快些,别人在访问网页时会快些):压缩 注释 、 换行 、 参数变量名------项目开发时一般会有压缩工具的
4、函数的bind
5、自调用函数的问题