面向对象的特点
多态:多态性是指在一般类中的属性和行为,被特殊类继承之后,可以具有不同的数据类型或表现出不同的 行为。封装:封装是面向对象方法的一个重要原则,就是把对象的属性和服务结合成一个独立的系统单位,并尽可能隐蔽对象的内部细节。
继承:特殊类的对象拥有其一般类的全部属性和服务,称作特殊类对一般类的继承。
创建对象的4种方式:
1.直接量
var obj={属性:值,属性:值,方法:function(){..}}
2.使用内置对象
var obj=new Object();
3.使用构造函数:2步:
1. 定义构造函数:
function 构造函数名(属性值,属性值,...){this.属性=属性值;this.方法=function(){...}}
2. 使用new调用构造函数实例化一个对象
var obj=new 构造函数名(属性值,属性值,...);
1.创建新对象
2.设置新对象的__proto__属性为构造函数的prototype对象
3.调用构造函数,初始化对象中的属性
4.将新对象的地址,赋值给obj变量
4.创建对象同时设置继承var obj=Object.create(父对象);
this:指代正在调用当前方法的对象的指针
this指代的对象和定义位置无关!仅和调用时的对象有关。
调用方法时当前的对象是谁。
如果无主的方法,都属于window!
推荐写法:
function Dog(name,color){
this.name = name;
this.color = color;
}
Cat.prototype.type = "犬科动物";
Cat.prototype.eat = function(){alert("看家护院")};