1Function.prototype.call = function (context, args) {
2 let symbolFn = Symbol("fn");
3 symbolFn = this;
4 context[symbolFn](args);
5 delete context[symbolFn];
6};
1Function.prototype.apply = function (context, args) {
2 let symbolFn = Symbol("fn");
3 symbolFn = this;
4 context[symbolFn](...args);
5 delete context[symbolFn];
6};
1Function.prototype.bind = function (context) {
2 let symbolFn = Symbol("fn");
3 symbolFn = this;
4 return function () {
5 let result = context[symbolFn](...arguments);
6 delete context[symbolFn];
7 return result;
8 };
9};