什么是js面向对象?
1.首先,js面向对象是一种思想;
2.其次,遵循万物皆对象的准则;程序中的关键模块都可以视为对象,对象都是由属性和方法组成,属性可以理解为对象的特征,是静态的,方法可以理解为对象的行为,是动态的;例如,在汽车这个对象中,他的颜色,型号,大小就是他的属性,而行驶则是他的方法;
3.面向对象会使用对象的属性和方法,它不关注内部的细节和过程;同时也会构造对象。
4.在js中,所有的对象可以分为普通对象和函数对象。而Object ,Function 是JS自带的函数对象。凡是通过 new Function() 创建的对象都是函数对象,其他的都是普通对象。
面向对象有什么特点?
1.抽象:a)抽象是面向对象最为重要的特征。对象本身的状态与行为,以及对象之间的关系,都是抽象的结果。没有抽象,就没有对象,也就谈不上面向对象了。抽象是一种思维习惯,因此,抽象是面向对象的第一特征。b)把同类的对象共有的属性或方法抽出封装成单独的对象,在用到的时候给相应的对象使用;
以学生为例,把他的共同属性提取出来,比如,名字,学号等,而像爱玩还是爱学习,好动还是好静等这些不同的属性可以摒弃;
2.继承:简单来说就是一个对象继承另一个对象的属性和方法;
有两种继承方式:1,对象冒充,优点是可以实现多重继承,初始化 继承自父类的参数;缺点是浪费内存资源,所有的实例都会有一份成员方法的副本;2.原型方式,是指利用了prototype或者说以某种方式覆盖了prototype,从而达到属性方法复制的目的。
举个例子,儿子能继承父亲的姓,孙子也能继承父亲的父亲的姓;
3.封装:复杂的问题简单化,只考虑功能和结果,不考虑过程和内部细节。
举例jq库的使用。