码迷,mamicode.com
首页 > 移动开发 > 详细

apply的“非改变this“的用法

时间:2017-10-17 16:34:12      阅读:218      评论:0      收藏:0      [点我收藏+]

标签:null   思维   一起   思考   this   color   调用   blog   com   

说到apply,大家都是知道是改变this指向的,也都会立马和call联系在一起,MDN官网上也是如是说:

技术分享

其实我们在平常使用call和apply的时候,都是想到他们的改变函数的this的功能,

正如MDN上面说的apply和call只有唯一一点区别,就是:apply方法的二个参数接受的是“参数数组”!

也就是说:apply的第二个“参数数组”最终会打散被调用apply的函数所调用;

因此我们也可以利用这一特性,进行数组的打散的操作,如MDN中所述:

技术分享

当然我们这里也可以使用ES6的扩张语句,如下:

技术分享

之所以要写这篇文章就是告诫自己:思维不要太局限,就像觉得apply就只能用于改变this的指向的功能。当我们咋一看Math.max.apply(null, arr)这种会蒙圈,其实这里就是省去了自己展开了数组的操作。

在发现疑惑的时候,可以放空自己的过去的知识,重新阅读API。重新去思考这个问题。

就像自己以前做物理题目,脑子里永远别记忆题型,脑子里只需要记住公式和原理,所有的题目都是去思考分析再解答,以不变应万变!!而不是把题目归类,再回忆改类题型的解题方法。

apply的“非改变this“的用法

标签:null   思维   一起   思考   this   color   调用   blog   com   

原文地址:http://www.cnblogs.com/zhilingege/p/7682206.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!