前端学习Day36
Day36:P177-P181
学习笔记:
1.面向过程:
就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候再一个一个的依次调用就可以了。
2.面向对象:
是把事务分解成为一个个对象,然后由对象之间分工与合作。
3.在面向对象程序开发思想中,每一个对象都是功能中心,具有明确分工。
面向对象编程具有灵活、代码可复用、容易维护和开发的优点,更适合多人合作的大型软件项目。
4.面向对象的特性:
封装性、
继承性、
多态性
5.封装是面向对象思想中比较重要的一部分,js面向对象可以通过构造函数实现的封装。
同样的将变量和函数组合到了一起并能通过this 实现数据的共享,所不同的是借助构造函数创建出来的实例对象之间是彼此不影响的。
构造函数体现了面向对象的封装特性;
构造函数实例创建的对象彼此独立、互不影响
构造函数存在浪费内存的问题。
6.构造函数通过原型分配的函数是所有对象所共享的。
JavaScript规定,每一个构造函数都有一个prototype属性,指向另一个对象,所以我们也称为原型对象
这个对象可以挂载函数,对象实例化不会多次创建原型上函数,节约内存
我们可以把那些不变的方法,直接定义在 prototype对象上,这样所有对象的实例就可以共享这些方法。
构造函数和原型对象中的this 都指向实例化的对象
7.原型- this指向:
构造函数和原型对象中的this 指向构造函数和原型对象中的this都指向实例化的对象