继承
function Person(){
var _this = {};
_this.sayHello = function(){
alert("Hello");
}
return _this;
}
function Teacher(){
var _this = Person;
return _this;
}
var t = Teacher();
t().sayHello();
复写
function Person(){
var _this = {};
_this.sayHello = function(){
alert("Hello");
}
return _this;
}
function Teacher(){
var _this = Person();
_this.sayHello = function(){
alert("Thello");
}
return _this;
}
var t = Teacher();
t.sayHello();
function Person(){
var _this = {};
_this.sayHello = function(){
alert("PHello");
}
return _this;
}
function Teacher(){
var _this = Person();
var surperSay = _this.sayHello;
_this.sayHello = function(){
surperSay.call(_this);
alert("Thello");
}
return _this;
}
var t = Teacher();
t.sayHello();
传参
function Person(name){
var _this = {};
_this.name = name;
_this.sayHello = function(){
alert("PHello" + _this.name);
}
return _this;
}
function Teacher(name){
var _this = Person(name);
var surperSay = _this.sayHello;
_this.sayHello = function(){
surperSay.call(_this);
alert("Thello" + _this.name);
}
return _this;
}
var t = Teacher('iwen');
t.sayHello();
封装
(function(){
var n = "ime";
function Person(name){
var _this = {};
_this.name = name;
_this.sayHello = function(){
alert("PHello" + _this.name + n);
}
return _this;
}
window.Person = Person;
}());
function Teacher(name){
var _this = Person(name);
var surperSay = _this.sayHello;
_this.sayHello = function(){
surperSay.call(_this);
alert("Thello" + _this.name);
}
return _this;
}
var t = Teacher('iwen');
t.sayHello();