面向对象初识

面向过程和面向对象:

- 面向过程:
    + 我们放在执行者的角度,需要亲力亲为 ,按照一定顺序去执行
- 面向对象:
  • 把我们仿造一个调度者的角度 只需找到相应的人 帮我们完成即可

    • 创建文本
      var TXT = document . createTextNode( "这是内容" );
    • 代码规则: DRY原则 don't repeat youself

优化代码 封装成函数

  1. 把获取元素的代码封装成函数
    • 封装函数放在一块 会造成一系列的问题:
      • 全局污染
      • 造成使用或者是管理不方便
      • 维护不方便
    • 使用对象来维护代码

面向对象的优势:

1. 代码更好维护
2. 减少全局污染
3. 将功能相近的代码阻止到一起维护方面,找错误方便

构造函数的注意点:

1. 函数的名字一般上要大写
2. 在构造函数内部使用this来给新穿件出来的对象添加属性
3. 构造函数一般情况下不需要返回值,会默认的把新创建出来的对象返回
4. 构造函数要跟  new 运算符爱配合使用

- 问题 :
    + 创建出来的对象全部都是 一个样子的
    + 每次调用都会创建一个新的对象
    + 如果想创建出不一样的人出来 ,需要给构造函数传参数
    + 根据传入不同的参数  来实现  创建的不同

原型 prototype

- 构造函数的prototype 属性的值就是原型
- 搞糟函数的原型的类型是:对象类型

属性搜索原则

- 为什么 通过对象可以访问到原型中的属性或者方法?
- 原则:
+ 首先会在对象本身查找有没有该属性,如果有直接返回
+ 如果没有,此时就会在构造函数中查找,通过this给想添加的成员中有没有,如果有就直接返回
+ 如果没有,就会到对象的原型对象中查找,有的话,就返回。
+ 如果没有,就会到原型对象的原型对象中查找。。。
+ 如此  往复   如果最后也没有找到,获取到的值就是:undefined

posted on 2016-11-06 22:26  山上的小兵  阅读(126)  评论(0)    收藏  举报

导航