根据三种方法不同的特性,我们可以灵活的应用 相关链接:call ,apply,bind区别
- call 常用来继承,因为ES6之前没有extends,用构造函数来模拟继承
这里里面的Son通过改变Father构造函数this指向问题,来获取Father里面的属性,实现继承的效果,Son还可以添加自己的额 外属性sex
function Father(name, age) {
this.name = name;
this.age = age;
}
function Son(name, age, sex) {
Father.call(this, name, age);
this.sex = '男';
}
var son = new Son('李白', 99);
console.log(son);
2,apply 常用于与数组有关的操作,因为传递的参数是数组
这里将arr数组传递过去,来达到找到数组最大值的方法,传递过去的arr不再是以数组的形式,而是数字类型,再通过Math