потом таймер, а в всех остальных функция калбек всегда идёт последним параметром?
где логика?
В каких остальных?
Потому что у джса было тяжёлое детство
нигде. это называется хреновый дизайн API.
не буду утверждать, что всё 100% так. но вот, что могу сказать: 1) setTimeout является частью Web API, а не JavaScript 2) cb последним параметром стал популярен с активным внедрением NodeJS. а NodeJS появился в 2009 году https://en.wikipedia.org/wiki/Node.js. setTimeout же упоминается раньше. например, вот статья из 2008 https://johnresig.com/blog/how-javascript-timers-work/ 3) setTimeout поддерживает не только callback первым параметром. туда можно передать и строку. это было популярно раньше https://stackoverflow.com/a/6081606 4) раньше внедрение той или иной фичи делалось совершенно не так, как сейчас 5) это было давно. поэтому, это так по “историческим причинам”
По моим догадкам это работает так: алгоритмы читают js справа на лево, типо сперва он берёт задержку скажем что это 250мс и после этой задержки уже вызывается функция (это мои догадки не знаю насколько это правда)
Обсуждают сегодня