VS
Size: a a a
VS
m
function bind(fn, context, ...rest) {
return function(...args) {
const uuid = Date.now().toString();
context[uuid] = fn;
const res = context[uuid](...rest, ...args);
delete context[uuid];
return res;
}
}
DM
KH
KH
А
a
DM
.products__name
элементе нет ребенка с классом .products__desc
ВЯ
А
a
products__name
products__desc
внутри элемента с классом products__name
DM
А
.products__name
элементе нет ребенка с классом .products__desc
m
Function.prototype.myBind = function(fnContext, ...fnOneArgs) {
if (fnContext === null || fnContext === undefined) {
return (...fnTwoArgs) => this(...fnOneArgs, ...fnTwoArgs);
}
let context;
switch (typeof fnContext) {
case 'number':
context = new Number(fnContext);
case 'string':
context = new String(fnContext);
case 'boolean':
context = new Boolean(fnContext);
default:
context = fnContext;
}
return (...fnTwoArgs) => {
const name = Date.now().toString();
context[name] = this;
const result = context[name](...fnOneArgs, ...fnTwoArgs);
delete context[name];
return result;
}
}
А
СП
D