前端面向对象编程
什么是面向对象? => 面向对象编程 => 面向对象编程的特点?(封装、继承、多态)
1、什么是面向对象?
面向对象是一种编程思想。
JS 本身就是基于面向对象构建出来的。例如:JS 中很多内置的类,像 Promise 就是 ES6 新增的一个
内置类,我们可以通过 new Promise 来创建一个实例,管理异步编程。
我们平时用到的 Vue/Jquery 都是基于面向对象构建出来的,他们都是类。平常开发的时候,就是创建他们的实例来操作的。
2、面向对象编程(OOP)
面向对象编程主要涉及到两种最常用的设计模式,分别是构造函数模式和单例模式。
2.1 构造函数模式
2.1.1 构造函数的 new
通过 new 构造函数来创建该类的实例。
自己出创建类名,最好的一个单词首字母大写。
这种构造函数设计模式执行,主要用于组件、类库、插件、框架等封装。
2.1.2 Object 的创建方式
以下这两者都是 Object 类的实例,而实例之间是独立分开的,所以 var xxx={} 这种模式就是 JS 中
的单例模式。
2.2 单例模式
每个命名空间都是 JS 中 Object 这个内置基类的实例,而实例之间是相互独立互不干扰的,所以我们称
它为【单例】—— “单独的实例”。
在给命名空间赋值的时候,不是直接赋值一个对象,而是先执行匿名函数,形成一个私有作用域
AA(不销毁的栈内存),在这个 AA 中创建一个堆内存,把堆内存地址赋值给命名空间。