zoukankan      html  css  js  c++  java
  • call 和 apply 的区别?哪个性能更好?

    1、call 和 apply 都是 function 类 原型上的方法;每一个函数作为 function 的实例都能调用这两个方法;这两个方法执行的目的都是用来改变函数中 this 指向的,让函数执行并且能改变函数中 this 指向。

    2、区别:call 传参的时候要求我们给函数传参是一个个传的,而 apply 的要传的参数是以一个数组保存起来;

    3、一样改变 this 的还有 bind,bind并没有立即执行函数,只是预先把处理改变函数中的 this 

    4、call 的性能要比 apply 好一些(尤其是传递给函数的参数超过三个的时候)

      let arr = [10, 20, 30],

      obj = { }

      function fn (x, y, z) { }

      fn.apply (obj, arr);

      fn.call (obj, ...arr);  =》基于 ES6 的展开运算符也可以实现把数组中的每一项一次传递给函数

  • 相关阅读:
    涨知识| 在国内,如何顺利使用谷歌(转)
    css3网站收集
    淘宝客 新内容
    淘宝客工作计划
    淘宝客笔记
    java并发编程
    代理模式之远程代理
    动态代理
    模板方法模式
    Spring整合web开发
  • 原文地址:https://www.cnblogs.com/HYTing/p/12607139.html
Copyright © 2011-2022 走看看