{
var args = arguments; // сохранить внешний массив аргументов
return function () { // вернуть функцию
var a = array(args, 1); // начиная с эл. 1 во внешнем массиве
var i = 0;
var j = 0;
// заменить значения undefined значениями из внутреннего списка аргументов
for (; i < a.length; i++)
if (a[i] === undefined) a[i] == arguments[j++];
// добавить оставшиеся внутренние в конец списка
a = a.concat(array(arguments, j))
return f.apply(this, a);
};
};
var f = function (x, y, z) { return x * (y - z); };
console.log(partial(f, undefined, 2)(3, 4)); // NaN
почему NaN ?
должно быть -6
фу
откуда откапываете эту старину?)
дописывай консоль логи на каждый шаг, промежуточные значения переменных, на каждой инреции циклов логируй что пришло и что уходит
учебник Девида Фланагана 6-е издание)
хорошая идея, спасибо
это с носорогом который ?
ошибка в этой строке: if (a[i] === undefined) a[i] == arguments[j++]; нужно знак = один поставить: if (a[i] === undefined) a[i] = arguments[j++];
просто я учу программирование с нуля. и поэтому предпочитаю с самых азов разбираться. потом пройду ещё 7- издание 2020 года. потом уже к современным фишкам, сокращениям, упрощениям, и библиотекам переходить стоит.
это разве не третье издание?
ну фиг знает, мое мнение лучше сразу учиться на штуках которые тебе правда пригодятся в работе. А такого исследования делать в свободное время.
хорошее замечание) только я не знаю что мне пригодится в работе на практике, и с чем столкнусь
https://jsonplaceholder.typicode.com/ Берешь вот это, какой нибудь шаблон для фигмы и вперед. Делай формы, галереи картинок, кнопочки, чекбоксики, селекты и тому подобную херь.
спасибо) только я уже прохожу курс по фронт-энд разработке параллельно, мне задачек хватает (хотя они большинство примитивные)
Обсуждают сегодня