前端进阶|第二天 apply和call

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); 数组合并。

上一篇:前端进阶|第五天 const,let,var作用域问题


下一篇:前端进阶|第八天 京东笔试题,引用传参赋值无效?