Прийнятою відповіддю, яка залишила IMO, є те, що .call()це функція D3 API, яку не слід плутати з Function.prototype.call ()
selection.call(function[, arguments…])
Викликає вказану функцію рівно один раз, передаючи цей вибір разом з будь-якими необов’язковими аргументами. Повертає цей вибір. Це еквівалентно виклику функції вручну, але полегшує ланцюжок методів. Наприклад, щоб встановити кілька стилів у багаторазовій функції:
А тепер скажіть:
d3.selectAll("div").call(name, "John", "Snow");
Це приблизно еквівалентно:
name(d3.selectAll("div"), "John", "Snow");
Єдина відмінність полягає в тому, що selection.call завжди повертає виділення, а не повертане значення викликаної функції , ім’я.
call()робить