寒风阵阵,扰人美梦!来,让我们手写一个Call.
Function.prototype.Call = function Call(context,...params){
context == null ? context = window :null ; //如果不传入第一个参数或者第一个参数为null ,则指向window
!/^(object|function)$/.test(typeof context) ? context = Object(context) : null //如果传入的不是对象或者函数 则转换为对象
let key = Symbol(‘KEY‘),result;
context[key] = this;
result = context[key](...params)
delete context[key]
return result;
}
原文:https://www.cnblogs.com/purplebox/p/14204592.html