;(()=>{
mycall = (context)=>{
context = context?Object(context):window;
context.fn = this;
var args =[];
for(let i = 0;i<arguments.length;i++){
args.push(arguments[i]);
}
context.fn(...args);
}
Function.prototype.mycall() = mycall;
})()
function fn(a,b){
console.log(a+b);
}
obj = {name:"123"};
fn.call(obj,1,2);