面向对象初识
面向过程和面向对象:
- 面向过程:
+ 我们放在执行者的角度,需要亲力亲为 ,按照一定顺序去执行
- 面向对象:
-
把我们仿造一个调度者的角度 只需找到相应的人 帮我们完成即可
- 创建文本
var TXT = document . createTextNode( "这是内容" ); - 代码规则: DRY原则 don't repeat youself
- 创建文本
优化代码 封装成函数
- 把获取元素的代码封装成函数
- 封装函数放在一块 会造成一系列的问题:
- 全局污染
- 造成使用或者是管理不方便
- 维护不方便
- 使用对象来维护代码
- 封装函数放在一块 会造成一系列的问题:
面向对象的优势:
1. 代码更好维护
2. 减少全局污染
3. 将功能相近的代码阻止到一起维护方面,找错误方便
构造函数的注意点:
1. 函数的名字一般上要大写
2. 在构造函数内部使用this来给新穿件出来的对象添加属性
3. 构造函数一般情况下不需要返回值,会默认的把新创建出来的对象返回
4. 构造函数要跟 new 运算符爱配合使用
- 问题 :
+ 创建出来的对象全部都是 一个样子的
+ 每次调用都会创建一个新的对象
+ 如果想创建出不一样的人出来 ,需要给构造函数传参数
+ 根据传入不同的参数 来实现 创建的不同
原型 prototype
- 构造函数的prototype 属性的值就是原型
- 搞糟函数的原型的类型是:对象类型
属性搜索原则
- 为什么 通过对象可以访问到原型中的属性或者方法?
- 原则:
+ 首先会在对象本身查找有没有该属性,如果有直接返回
+ 如果没有,此时就会在构造函数中查找,通过this给想添加的成员中有没有,如果有就直接返回
+ 如果没有,就会到对象的原型对象中查找,有的话,就返回。
+ 如果没有,就会到原型对象的原型对象中查找。。。
+ 如此 往复 如果最后也没有找到,获取到的值就是:undefined
浙公网安备 33010602011771号