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    

  • 相关阅读:
    AngularJS依赖注入
    transclude 嵌入
    收藏的文章
    mysql
    jquery的deferred对象
    restrict取值
    AngularJs碎片笔记
    js工具函数
    canvas解决画图模糊
    去体湿
  • 原文地址:https://www.cnblogs.com/liumcb/p/7595913.html
Copyright © 2011-2022 走看看