js 面向对象编程oop(oriented object programming)的特点
1 抽象 : 抓住核心问题;
2 封装 : 不考虑内部实现 只考虑功能使用
3 继承 : 从已有的对象上继承新的对象 (a . 多重继承 b. 多态)
对象的组成
1 方法===函数 : 过程 、 动态的
2 属性===变量 : 状态 、 静态的
var arr=[1,2,1,3,1] //数组对象
console.log(typeof arr);
var a=18; //变量
arr.a=13; //属性
console.log(arr.a);
arr.fn1=function(){ //方法 对象的方法
alert('ccc');
alert(this.length);
}
var obj=new Object(); //创建新的对象
obj.name="lucy"; //对象的属性
obj.sex="girl";
obj.showName=function(){ //对象的方法
alert(this.name);
}
obj.showSex=function(){
alert(this.sex);
}
obj.showName();
obj.showSex();
var obj1=new Object();
obj1.aaa=12;
obj1.show=function(){
alert(this.aaa);
}
obj1.show();
function Person(name,sex){ //构造函数
var pero=new Object(); //创建新对象
pero.name=name; //增加属性
pero.sex=sex;
pero.showName=function(){ //增加方法
alert(this.name);
}
pero.showSex=function(){
alert(this.sex);
}
return pero; //返回对象
}
var p1= new Person('cc','girl'); //Person 对象赋值属性给 p1
console.log(p1.showName()); //打印p1的名字
var p2=new Person('dd','boy'); //Person 对象赋值属性给 p2
console.log(p2.showSex()); //打印p2的sex