- 40
- 0
let result = context.fn(...arg); 这个地方为什么是隐式绑定,不太理解,隐式绑定不是对象调用方法的时候才是吗// 思路:将~要改变this指向的方法,挂到目标对象上执行并返回Function.prototype.myCall = function(context) { if(typeof this !== 'function') { throw new TypeError('not function') } context = context || window //*************************************************************************************************** // 这三步也可以这样理解: // this指的就是调用call 方法的函数 // 给当前上下文(call方法的第一个参数)添加一个属性fn,属性值为this,当前上下文就可以调用这个方法了。 // 把call方法传入的其他的参数传入到属性fn指代的函数中,直接调用函数 // f.myCall(obj) 就是将f方法添加到obj的属性中,f中的this 指向 obj context.fn = this; //this指向的是当前的函数(Function实例) let arg = [...arguments].slice(1); //获取除了this指向对象以外的参数,空数组slice后返回仍是空数组 let result = context.fn(...arg); //隐式绑定,当前函数的this指向context //*************************************************************************************************** delete context.fn return result}代码出处https://www.cnblogs.com/james...
0
打赏
收藏
点击回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

