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

Function.prototyoe.call.apply

时间:2017-06-14 02:38:48      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:function   cti   type   apply   nbsp   操作   如何   ice   思维   

刚刚在一个群里看到有人问 Function.prototype.call.apply(obj, args) 如何理解,觉得挺有意思的。刚开始被惯性思维干扰了,一直都是 call 和 apply 分开用呀!!!

如果理解 [].slice.apply(obj, args) 的话,也就能理解 Function.prototype.call.apply(obj, args) 了。

由于“.”的操作顺序是从右到左,所以

(1)首先以最右边的“.”为分割点,左边的 obj1=Function.prototype.call 为一个整体,调用 obj1.apply(obj, args);

(2)作用于替换成 obj 之后变成,就变成了 obj.call(args[0], args[1], ...);

(3)再次替换作用于,变成args[0](args[1], ...);

就这样啦

Function.prototyoe.call.apply

标签:function   cti   type   apply   nbsp   操作   如何   ice   思维   

原文地址:http://www.cnblogs.com/xxhuan/p/7004421.html

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