Function.prototype.call=function (context,...param) {
context=context||window
const fn=Symbol("fn")
context[fn]=this
context[fn](...param)
delete context[fn]
}
Function.prototype.apply=function (context,param) {
context=context||window
const fn=Symbol("fn")
context[fn]=this
context[fn](...param)
delete context[fn]
}
Function.prototype.bind=function (context,param) {
context=context||window
const fn=Symbol('fn')
context[fn]=this
return function (..._param) {
param=param.concat(_param)
context[fn](...param)
delete context[fn]
}
}