在用面向对象的思想规整代码以前,全部js代码都写成一堆,那个是面向过程(代码堆在一块儿,靠注释区分)编程
面向对象能够理解成,是过程式代码的高度封装,目的在于提升代码的可维护性和开发效率。函数
理解一下对象:具备某特征或某方法的某个事物(其特征就是属性,其行为就是方法)this
三种建立对象的方式:
1.字面量的方式
2.调用系统的构造函数
3.自定义构造函数的方式spa
//字面量方式建立对象 let per1={ name:'小白', age:10, say:function(){ return 'hello' } } //调用系统的构造函数建立对象 let per2=new Object() per2.name='小黄' per2.age=8 per2.eat=function(){ return'eat something' } //自定义构造函数建立对象 function Per3(name,age){ this.name=name this.age=age this.play=function(){ return 'play gemes' } } let per3=new Per3('小黄',10) //工厂模式建立对象 function creatObject(name,age){ let obj=new Object() obj.name=name obj.age=age obj.say=function(){ console.log('hello') } return obj } let per4=creatObject('小白',10)
js能够模拟面向对象
面向对象特性:封装、继承、多态、抽象
封装:代码重用
继承:关键概念——类,指类与类之间的关系,js中没有类的概念,有构造函数的概念,基于原型,能够继承,经过构造函数模拟类的概念。
多态:一个对象有不一样的行为,或,同一行为,针对不一样的对象,产生不一样的效果设计
面向对象的设计思想是:code
抽象出 Class对象
根据 Class 建立 Instanceblog
指挥 Instance 得结果继承
总结:开发
面向对象就是,根据需求,分析对象,找到对象有什么特征和行为,经过建立对象(构造函数建立对象),对象调用属性和方法来实现需求。