Ответ 1
В вашем конкретном примере не имеет значения, какие параметры указаны в вашей функции ссылок. Когда Angular обрабатывает директиву, он передает функции, элемент и attrs (и даже экземпляр контроллера, если они настроены) к вашей функции ссылок.
Вы можете сделать это (не рекомендуется):
link: function (s, e, a)
и он будет работать нормально.
$- префикс, используемый Angular. Это соглашение и помогает избежать именования столкновений.