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

apply call bind 的实现最先出现在Python成神之路

版权声明:
作者:admin
链接:https://www.techfm.club/p/25910.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>