apply call bind 的实现
1 call 实现
函数的实现 会有很多的 edge case (边界判断) , 就是 特殊的情况
// 给所有函数添加 _call 方法
Function.prototype._call = function (thisArg, ...restParameters) {
// 执行 调用的那个函数 , 其实是一个隐式绑定
// 如果是一个 单纯的 数字, Object(数字) 可以转换成 对象模式
// Object(null/undefined) 会返回一个空对象
// 1. 获取需要被执行的函数
var fn = this
// 2.对 thisArg 转换成对象类型 ( 防止它传入的是非对象类型 )
thisArg = thisArg ? Object(thisArg) : window
// 3.调用需要被执行的函数
thisArg.fn = f
共有 0 条评论