apply和call

apply(point ,array)

参数1 : this指向
参数2 : 数组 (数组里的每个数传递给被调用的方法进行处理,参数平铺)

例1
 Math.max(),参数不支持数组形式
var arr =  1,2,3,4,5,6;
Math.max.apply(null,arr); 

例2
        var arr1 = [1,2,3,4,5];

        var arr2 = ["a","b","c","d","e"];
        
        arr1.push(arr2);
        // 未使用apply,arr2作为一个整体push进去
        console.log(arr1); //[1,2,3,4,5,["a","b","c","d","e"]]

        var arr3 = [1,1,1,1,1];

        var arr4 = ["q","q","q","q","q"];

        [].push.apply(arr3 ,arr4 );

        console.log(arr3); //[1, 1, 1, 1, 1, "q", "q", "q", "q", "q"]

var arr = []
        fn(1, 2, 3, 4)
        function fn(a, b, c, d) {
            arr.push.apply(arr,arguments)
            console.log(arr);
        }
        // 参数一.谁调用这个方法
        // 参数二.传入方法的参数

call(point ,ags1,ags2,ags3,ags4)

与apply用法相同,就是第二个参数不同

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 我在一开始看到javascript的函数apply和call时,非常的模糊,看也看不懂,最近在网上看到一些文章对a...
    Joe_Somebody阅读 423评论 0 0
  • call 和 apply EC3给Function的原型定义了两个方法,它们是 Function.prototyp...
    WeekOne阅读 460评论 0 0
  • apply(point ,array) 参数1 : this指向参数2 : 数组 (数组里的每个数传递给被调用的方...
    京河_简阅读 186评论 0 0
  • 说点题外话 本文仅仅适用于新手,我是说很新的手哟,旨在和大家共同了解js的call和apply方法。笔者水平有限,...
    码农小圈圈阅读 612评论 4 4
  • 介绍 有编程开发经验的都知道函数有作用域这种东西,JavaScript中的函数中的亦是如此。但是想要更改该函数的作...
    古朋阅读 271评论 1 2