概念:不了解内部结构,知道表面的操作
特点:
- 封装 : 把一堆方法和属性放在一起
-
function Gril(name,age){ // 公共属性 this.name=name; this.age=age; //私有属性 var_sex="girl"; //公有方法 this.eat=function(){ alert("吃饭"); } //私有方法 var_xiuxiu=function(){ alert("美图秀秀"); } }
- 继承: 最大限度重用代码
-
for (var x in A.prototype){ B.prototype[x]=A.prototype[x]; }
- 多态:不同类的同名方法
- 抽象:抓住核心问题
组成:
- 属性: 变量,同一个东西,场景不同
- 方法:函数,同一个东西,场景不同
怎么写对象:
- 使用Object var obj=new Object();
- 字面量创建/json var obj={};
- 工厂模式 function creatPerson(name,qq){ var obj = new Object();}
- 构造函数创建对象 var a=new My();
原型与原型链
原型:该类的公共存储空间,用于节省空间
原型链:当访问对象的某个属性或方法时 ,先在自己的构造函数里找,如果没有,再从自己的原型中寻找,如还没有,就找原型的原型,一直找到object的原型,这样形成的一条链条称为原型链
构造函数与析构函数:
构造函数:开辟内存空间
析构函数: 释放内存空间