1.apply和call可以劫持另一个对象的方法,继承另外一个对象的属性。
function Person(name,age)
{
this.name=name;
this.age=age;
}
function Student(name,age,grade)
{
Person.apply(this,arguments);
this.grade=grade;
}
var student=new Student('qq',21,'一年级');
console.log(student);
student 继承了person的属性。
2.apply的第二个参数是参数组成的数组。(不能指定参数顺序)
call 可以从第二个参数开始枚举参数。(可以指定参数的顺序)
3.apply 可以用来操作数组
1)Math.min.apply(null,array);
2)Math.max.apply(null,array);
这样书写的原因是,max和min的参数不支持数组,但支持参数枚举。
3)Array.prototype.push.apply(arr1,arr2); 数组合并。