SOURCE

function person(a, b) {
    console.log(this.name, 'name')
    console.log(a, b)
}
let egg = { name: '蛋老师'}

Function.prototype.newCall = function(obj) {
    obj.fn = this;
    let arr = []
    for(let i = 1; i < arguments.length; i++) {
    //   console.log(arguments[i], 'arg')
      arr.push( 'arguments[' + i +']' )
      //arr.push(arguments[i])
    }
    console.log(arr, '----')
    eval('obj.fn(' + arr +')')
    // obj.fn(arr);
    delete obj.fn;
}

person.newCall(egg, '点赞', '收藏')
console 命令行工具 X clear

                    
>
console