Как это работает? Для полного понимаю, посмотрите статью на Хабре.
var slice = Function.prototype.call.bind(Array.prototype.slice);
slice([1,2,3], 0, 1); // => [1]
var bind = Function.prototype.call.bind(Function.prototype.bind);
Как это работает? Для полного понимаю, посмотрите статью на Хабре.
var slice = Function.prototype.call.bind(Array.prototype.slice);
slice([1,2,3], 0, 1); // => [1]
var bind = Function.prototype.call.bind(Function.prototype.bind);
Для полного понимаю, посмотрите статью на Хабре.- нет, так не пойдет. Всё относящееся к вопросу должно быть в нём. А читать статьи на хабре, чтобы ответить на вопрос - ну это как-то перебор – Алексей Шиманский Nov 13 '17 at 18:05Function.prototype.call.bindв первом сниппете, и в твоем примере – Grundy Nov 13 '17 at 18:14var slice = Function.prototype.call.bind(Array.prototype.slice);возвращается функцияcallс привязным контекстом в виде методаslice. Вызывая переменнуюslice(функцию call) и передаем еймассив [1,2,3]и аргументы0, 1и это срабатывает, но я не пойму как это работает. – Виталик Черный Nov 13 '17 at 18:18thisметодаcallвшили методslice. ты не знаешь почему ошибка?`var a = Function.prototype.call;
a(); VM810:3 Uncaught TypeError: a is not a function at:3:1`
– Виталик Черный Nov 13 '17 at 18:41