JS 面向对象编程、原型链、原型继承(个人学习总结)

一、面向对象

1. 面向对象 是所有语言 都有的一种编程思想,组织代码的一种形式

  • 基于对象的语言:JS语言
  • 面向对象的语言:c++ java c#

2. 面向对象 3大特征

封装:将重用代码封装到函数 / 对象中,实现代码复用
继承:继承方法、属性(JS通过原型实现继承、其他语言通过类实现继承)
多态:同一操作针对不同对象,表现出不同的行为(JS中没有多态)

3. 面向对象的优势

  • 模块化,便于维护:将功能相近的代码封装成一个的对象,有代码更改,只需找到对应的对象进行修改即可

  • 减少全局污染,只暴露出一个构造函数,需要的话 new 一个对象就可以

4. 分析 面向过程 、面向对象

  • 面向过程:

  • 所有的细节、步骤、过程,要一步一步亲历亲为(执行者)
  • 代码量少功能简单 的场景 适用
  • 代码执行效率高,创建的变量全局变量太多,环境污染严重(ES5)
  • 面向对象:

    • 把一些功能逻辑,赋予给一个个独立的对象,对象中封装了一些列方法
    • 找到能完成这个事情的对象,让它帮你完成就行(调度者)
    • 对于大型项目,有利于团队合作开发、有利于项目代码的维护扩展,项目更新迭代;
    • 代码执行效率较低;使用面向对象思想编程可能导致代码复杂度提高
    • JQ操作DOM就是一个面向对象的方式
  • 两者关联:面向对象是对面向过程的封装

  • 二、JS 中实现继承的3种方式

    1. 混入式继承for-in:遍历为新对象添加属性、方法

    
                        
                        

    你可能感兴趣的:(js,面向对象)