实现JavaScript中的Call

  寒风阵阵,扰人美梦!来,让我们手写一个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;

            }

           

 

  

posted @ 2020-12-29 06:45  box的紫色边框  阅读(55)  评论(0)    收藏  举报