面向对象和面向过程
面向过程
面向过程的思想把一个项目或者一件事情按照顺序一步一步完成
面向对象Object Oriented Programming
面向对象的思想把一个项目或者一件事情,分成更小的项目或者更小的部分,每一个部分负责什么功能,然后在把这些部分组成一个整体。
属性和方法
对象:属性的无序集合,通过属性值将对象分成属性和方法。--对象 = 属性 + 方法
属性:描述对象的外观,属性一般情况下都不会相同。 ---李文虎(身高,体重,肤色等等)
方法:描述对象具有的功能,方法一般情况下都是相同的。 ---李文虎(走,跑,开车...)
面向对象的特点
抽象:关注核心,关注重点。
封装:和函数特点吻合(常用的重复的代码进行封装,避免代码冗余)
继承:子类可以继承父类,不能影响父类
多态:js使用比较少,对象具有多种不同的形态
面向对象开发的第一种方式(混合开发):构造函数(私有属性) + prototype(原型:公有方法) --- 传统写法
构造函数运行原理
new出一个对象
this指向这个对象
执行代码:给this身上添加属性和方法
return this
原型
原型是函数的伴生体 ---- 只要创建了一个构造函数,就有一个原型->prototype属性
实例对象通过__proto__指向构造函数的prototype
constructor是函数原型上默认的一个属性
instanceof ---- 判断每个值是否是某个对象的实例