一、三种方式模拟“类”
1、工厂方式
function Cat() {
var cat = new Object();
cat.name = "小猫";
cat.showName = function() {
alert(this.name);
};
return cat;
}
使用:var myCat = Cat();
2、构造函数方式
function Cat() {
this.name = "小猫";
this.showName = function() {
alert(this.name);
};
}
使用:var myCat = new Cat();
3、原型方式
该方式利用了对象的prototype属性。首先用空函数创建类名,然后所有的属性和方法都被赋予prototype属性。
function Cat() {
}
Cat.prototype.name = "小猫";
Cat.prototype.showName = function() {
alert(this.name);
};
使用:var myCat = new Cat();
二、“类”的继承
父类:
function Animal() {
this.attr = "动物";
}
子类:
function Cat() {
var cat = new Animal();
cat.name = "小猫";
cat.showName = function() {
alert(this.name);
};
return cat;
}
使用:var myCat = Cat();
alert(myCat,attr);
1、工厂方式
function Cat() {
var cat = new Object();
cat.name = "小猫";
cat.showName = function() {
alert(this.name);
};
return cat;
}
使用:var myCat = Cat();
2、构造函数方式
function Cat() {
this.name = "小猫";
this.showName = function() {
alert(this.name);
};
}
使用:var myCat = new Cat();
3、原型方式
该方式利用了对象的prototype属性。首先用空函数创建类名,然后所有的属性和方法都被赋予prototype属性。
function Cat() {
}
Cat.prototype.name = "小猫";
Cat.prototype.showName = function() {
alert(this.name);
};
使用:var myCat = new Cat();
二、“类”的继承
父类:
function Animal() {
this.attr = "动物";
}
子类:
function Cat() {
var cat = new Animal();
cat.name = "小猫";
cat.showName = function() {
alert(this.name);
};
return cat;
}
使用:var myCat = Cat();
alert(myCat,attr);