关于call(),apply()

时间:2021-09-16 07:20:28   收藏:0   阅读:27

call(),apply()

  1. 每个函数都包含两个非继承而来的方法:call()方法和apply()方法。
  2. 相同点: 这两个方法的作用是一样的。一般来说,this总是指向调用某个方法的对象,但是使用call()和apply()方法时,就会改变this的指向。
  3. 第一个参数就是一个对象,函数的this就会指向该对象。其余的参数是函数用到的参数,不同的是call是一个一个参数,apply则是接收一个包含所有参数的数组
function add(c,d){
 	return this.a + this.b + c + d;
 }
 
 var s = {a:1, b:2 };
 console.log(add.call(s,3,4)); // 1+2+3+4 = 10
 console.log(add.apply(s,[5,6])); // 1+2+5+6 = 14 

原文:https://www.cnblogs.com/sonsmart/p/15265684.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!