面向对象
- 什么是对象?
- 对象就是带有属性和方法的数据类型。
- 任何一门高级语言都要面向对象,,JavaScript则是基于原型的面向对象语言,因此我们的思维要由面向过程转向面向对象。
- 面向对象的特性:
- 封装:封装是把过程和数据封闭起来,对数据的访问只能通过开放的接口。
- 继承:子类对象继承使用父类的属性和方法。
- 多态:多态是指两个或多个属于不同类的对象,对于同一个消息(方法调用)作出不同响应的方式。
构造函数
- 所有的构造函数有一个特点:首字母大写。
- 在JS中我们可以理解为只要执行能够返回新的对象的函数就是构造函数。
关键词new
- 将一个函数变成对象并返回
- 在这个函数内部将this指向函数本身
- new这个关键词实际上能够将任何函数直接变成一个对象。它只有在和构造函数配合的时候才有用,它相当于可以化简构造函数自己创造对象和返回对象的步骤。
原型属性 (prototype)
- prototype 让我们有能力向对象添加属性和方法
- prototype它的作用就是构造函数的一个共享库;在这个共享库里面存储的所有数据将来都会被所有的新对象公用。 这样大大降低了创建方法的成本。
- 原型共享库是谁使用的:
- 构造函数使用原型库,所有将来的对象共享这个原型库。
- 如果把方法都写在构造函数的原型库里面,将来还可以通过原型继续拓展。
网友评论