- Я не спрашиваю, как сделать функцию в синтаксисе ES6, используя =>, я спрашивал о том, почему функция возврата была добавлена в середине функции. Я искал больше и обнаружил, что именно так кодируется функция карри. *
Я попытался получить представление о кодах Observable для построения графика, имитирующего поведение падающих шаров.
Я ожидал, что Observable имеет тот же синтаксис, что и Javascript D3, но на самом деле я понял, что он использует другой, свой собственный синтаксис, который чем-то похож на JS.
Что возвращает x => {.. ... продолжить ...} значит?
Фактический код из Observable такой, как показано ниже.
return x => {
const l = bisect.left(circles, x - radius);
const r = bisect.right(circles, x + radius, l);
let y = 0;
for (let i = l; i < r; ++i) {
const {x: xi, y: yi} = circles[i];
const x2 = (xi - x) ** 2;
const y2 = (yi - y) ** 2;
if (radius2 > x2 + y2) {
y = yi + Math.sqrt(radius2 - x2) + 1e-6;
i = l - 1;
continue;
}
}
circles.splice(bisect.left(circles, x, l, r), 0, {x, y});
return y;
};
Мне также интересно, что такое «replay», «continue» и «yield» 'в следующем коде. Я надеюсь реализовать коды здесь в Javascript ...