JS 面向对象
面向过程:
按照逻辑编写,符合计算机的执行思维。有明确的开始和结束,逐步执行中间的过程。
面向对象:
以人的观点看待物体,具有主观性,不同的人,面对同一物体,得到不同的属性和方法
类是对象的抽象,对象是类的实例
JS没类的概念,只有原型的概念
其他语言中类的实例只能使用类先定义好的属性和方法,并且不能修改
JS中可以为对象动态添加属性和方法,但只有该对象有添加的属性和方法,为原型添加的属性和方法,所有该原型的对象都有添加的属性和方法
一.创建对象
function People(name,age){
this.name=name;
this.age=age;
this.getName=function(){
return this.name;
}
}
二.调用对象
var peo= new People();
alert(peo.name+","+peo.age+","+peo.getName);
三.对象继承
1.模拟继承
对象冒充法一:
this.inherit=People;
this.inherit(name,age);
delete this.inherit;
对象冒充法二:
People.call(this,name,age);参数逗号分隔
对象冒充法三:
People.apply(this,[name,age]);参数用数组传递
2.真实继承:原型链继承
Man.prototype = new People();
funciotn Man(name,age){
this.constructor(name,age);调用父类的构造函数传参
}