//通过函数原型链(prototype)的方式来构造对象
//通过闭包的方式来对元素类进行封装
//通过函数原型链的方式来构造对象的方法和类的继承
//通过以上步骤就可以用函数的形式来实现类的,封装,继承。重写
//在闭包中的变量和方法是不可以被外部使用的,这时候需要把闭包中的对象挂载到window对象上,这样就可以从外部访问到闭包中对象的方法和属性
//为什么挂载到window对象外部就可以访问?原因是window对象是js中的顶级对象(超全局对象),所有的js对象都是在window对象下
(function () {
function Persion(name) {
this._name=name;
}
Persion.prototype.say=function () {
alert("你好啊,"+this._name);
};
window.Persion=Persion;//对象挂载到window对象
}());
(function () {
function Student(name) {
this._name=name;
}
//Student类继承Persion类
Student.prototype=new Persion();
var ss=Student.prototype.say;
// 子类方法重写父类方法 Student中的say方法覆盖了Persion中的say方法
Student.prototype.say=function () {
ss.call(this);//通过自我回调来调用父类中的方法
alert("我很好"+this._name);
};
window.Student=Student;
}());
var s=new Student("小亮");
s.say();