js中如何理解面向对象

83 阅读1分钟

一.什么是对象

具备私有属性
只要是new出来的都是对象 new Fun()=>实例化
不同对象肯定不相等 var a=[1];var b=[1]; a==b //false
对象都会有引用机制 堆 栈
包装类--没有new的函数声明,可以理解为不是对象;String Number 

二.面向对象

把任何的数据和行为抽象成一个对象
类:对象的模板。定义了同一组对象共有的属性和方法
在javascript中没有类的概念,但是可以模拟:
    通过构造函数 function Person(){}  new Person();
面向对象OOP:继承 封装 多态
     继承:子继承父
     封装:方法:function(){}
     多态:重载(参数的不同)、重写(继承时重写父类的方法)