SOURCE

Function.prototype.myCall = function(_this){
    //第一步
        var _this = _this || window
        _this.fn = this
        // 第二步
        let arr=[]
        for(let i=1;i<arguments.length;i++){
            arr.push(arguments[i])
        }
        var result = _this.fn(...arr)
        // 第三步
        delete _this.fn
        return result
    }
    
    function foo(age,sex){
        console.log(age,sex,this.name)
    }
    let pro = {
        name:'kai'
    }
    foo.myCall(pro,'18','man')
console 命令行工具 X clear

                    
>
console