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, '点赞', '收藏')