zoukankan      html  css  js  c++  java
  • apply和call的用法

    以前对与apply()还有call()一直处于一种我知道这是干什么,但是不知道怎么使用的情况,今天看别人的博客的时候,看到了一点这类知识,感觉有点感觉,现在把新的心得写下来。

    A.apply(B,[arr]);    

    A.call(B,str1,str2...);    

    这两个的不同之处就在于后面的那个参数类型,apply是数组,call是一个一个的参数。总体意思就是用A的方法替换B 的方法。

    我以前也知道是这样的知识点,但是不知道怎么用,现在看了一个例子感觉很有启发性。

    // add()函数,将参数相加求和;

    function add(a,b,c){

      return a + b + c;

    }

    add(1,2,3)    //结果为6;

    但是若是要求数组的和呢?这个函数是没办法求数组和的,只能用来求一个一个参数的和;现在这种情况就可以使用apply()方法了;

    var arr = [1,2,3];

    add.apply(null,arr);    // 结果为6

    在es6中同样也有方法,利用不定参可以直接求和;

    add(...arr);      //结果为6    

  • 相关阅读:
    字节码插桩技术
    排序算法
    oracle创建简单存储过程示例
    tomcat短连接与长连接的配置
    从linux到zookeeper
    拱卒人生
    集合运算
    读取properties
    oracle的那些事
    WebService
  • 原文地址:https://www.cnblogs.com/liumcb/p/7595913.html
Copyright © 2011-2022 走看看