重新认识javascript的函数

1.函数的内部对象arguments

1.1arguments 是一个类似数组的对象, 对应于传递给函数的参数(包括了所有被传入的参数)。arguments对象也是所有函数中可用的局部变量。

function add() {
    var sum = 0;
    for (var i = 0, j = arguments.length; i < j; i++) {
        sum += arguments[i];
    }
    return sum;
}
add(2, 3, 4, 5); // 14

1.2求平均值函数:

function avg() {
    var sum = 0;
    for (var i = 0, j = arguments.length; i < j; i++) {
        sum += arguments[i];
    }
    return sum / arguments.length;
}
avg(2, 3, 4, 5); // 3.5

1.3求一个数组的平均值:

function avgArray(arr) {
    var sum = 0;
    for (var i = 0, j = arr.length; i < j; i++) {
        sum += arr[i];
    }
    return sum / arr.length;
}
avgArray([2, 3, 4, 5]); // 3.5

1.4用apply多次调用函数

avg.apply(null, [2, 3, 4, 5]); // 3.5
第一个参数 null被当做this来看待的对象。

详情https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/A_re-introduction_to_JavaScript#函数

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

推荐阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 14,353评论 0 33
  • /*去重*/ function delRepeat(arr){ var newArray=new Array();...
    Hedgehog_Dove阅读 5,869评论 0 2
  • 某次二面时,面试官问起Js排序问题,吾绞尽脑汁回答了几种,深感算法有很大的问题,所以总计一下! 排序算法说明 (1...
    流浪的先知阅读 4,914评论 0 4
  • 手机响起来的时候,他正在做梦,一个美梦,一个春梦!他急忙爬起来,穿着短裤走到书桌边,手机就搁在那上面的一个木头做的...
    佘玺阅读 3,474评论 0 4
  • 自律就是现在放下手机去睡觉,喝多少鸡汤,看多少文章,都不如此刻去做。
    6186834d3810阅读 2,187评论 0 1