继承
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();
本文通过具体的JavaScript代码示例,介绍了几种实现对象继承的方法,包括原型链继承、构造函数继承及组合继承等,并展示了如何通过调用父类方法实现方法的复用。
1547

被折叠的 条评论
为什么被折叠?



