面向对象是一种思想,是基于面向过程而言的,就是说面向对象是将功能等通过对象来实现,将功能封装进对象之中,让对象去实现具体的细节;这种思想是将数据作为第一位的,这是对数据的一种优化,操作起来更加的方便,简化了过程,js本身是没有class类型的,但是每个函数都有一个prototype属性,prototype指向一个对象,当函数作为构造函数时,prototype就起到类似class的作用
面向对象有三个特点
1)封装(隐藏对象的属性和实现细节,对外提供公共访问方式)
2)继承(提高代码复用性,继承是多态的前提)
3)多态(是父类或接口定义的引用变量可以指向子类或具体实现类的实例对象)
语言特性
1)运行在客户端浏览器上
2)不用预编译,直接解析执行代码
3)是弱类型语言,较为灵活
4)与操作系统无关,跨平台的语言
5)脚本语言、解释性语言