A.call(B,x,y)
1`改变函数A的this指向,使之指向B;
2` 把A函数放到B中运行,x和y是A函数的参数。(当B想使用A函数中的say方法时不用重新写,实现B“劫持”A的方法)。
//父类 Person
function Person() {
this.sayName = function() {
return this.name;
}
}
//子类 Chinese
function Chinese(name) {
//借助 call 实现继承
Person.call(this);
this.name = name;
this.ch = function() {
alert('我是中国人');
}
}
//测试
var chinese = new Chinese('成龙');
//调用 父类方法
console.log(chinese.sayName()); //输出 成龙
|
|