zoukankan      html  css  js  c++  java
  • apply 无循环拼接数组

    apply()第二个参数只能是数组,这个数组将作为参数传给原函数的参数列表arguments

    其实在实际开发中,JS 继承的方法并不止这一种,使用原型链继承是更加常用的方式,此外还有构造函数继承,这里不展开。而apply使用的场景,更多的使用在这样一个场景:

    需要将数组转化为参数列表。

    apply()的这个把数组转化为参数列表的特性,可以让它做一些有趣的事情。

    例如:

    var list1 = [0,1,2];
    var list2 = [3,4,5];
    [].push.apply(list1,list2);
    
    console.log(list1);// >>> [0,1,2,3,4,5]

    可以这样理解:
    list1调用了属于数组对象的push方法,这个push方法需要传入一个参数列表,而恰好我们有了list2这个数组类型的参数列表,实现了拼接操作。
    第三行就相当于:list1.push(3,4,5);

    同理可实现求数组最大、最小值:

    Math.max.apply(null,arr);   // >>>>>>5

    这里因为max不需要自定义对象调用,所以第一个参数选择了null。

  • 相关阅读:
    10-JS的函数学习
    Servlet(生命周期)
    09-js数组常用方法
    08-计算器案例
    07-js数组
    06-js的逻辑结构
    使用css设置三角形
    关于background-size 的一点小坑
    a 标签实现分享功能
    关于页面缩放时css错乱的处理方法---之一
  • 原文地址:https://www.cnblogs.com/web-fusheng/p/6811259.html
Copyright © 2011-2022 走看看