Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Содержание функции setInterval и setTimeout (https://javascript.ru/forum/misc/81020-soderzhanie-funkcii-setinterval-i-settimeout.html)

Biotoxsin 15.09.2020 17:49

Содержание функции setInterval и setTimeout
 
Здравствуйте!

Я никак не могу найти содержание функции setInterval или setTimeout.
То есть именно то как она написана. А именно интересно как идёт отсчёт указанного в них времени.

Может кто-то что-то знает?

voraa 15.09.2020 18:22

В любой операционной системе есть функции, которые дают текущее время в виде количества миллисекунд прошедших от какой то фиксированной даты (например от 01.01.1970 00:00)
Когда вызывается функция setTimeout (setInterval), запоминается этот момент.
В начале каждого цикла событий просматриваются все запомненные таймеры и проверяется сколько прошло время и не пора ли ставить целевую функцию в очередь событий

Biotoxsin 15.09.2020 19:01

Цитата:

Сообщение от voraa (Сообщение 528861)
В любой операционной системе есть функции, которые дают текущее время в виде количества миллисекунд прошедших от какой то фиксированной даты (например от 01.01.1970 00:00)
Когда вызывается функция setTimeout (setInterval), запоминается этот момент.
В начале каждого цикла событий просматриваются все запомненные таймеры и проверяется сколько прошло время и не пора ли ставить целевую функцию в очередь событий

Это и так понятно. Но КАК? Интересно ведь как написана сама функция!

voraa 15.09.2020 19:05

Ну здесь не форум по С++

Biotoxsin 15.09.2020 19:14

Цитата:

Сообщение от voraa (Сообщение 528861)
В любой операционной системе есть функции, которые дают текущее время в виде количества миллисекунд прошедших от какой то фиксированной даты (например от 01.01.1970 00:00)
Когда вызывается функция setTimeout (setInterval), запоминается этот момент.
В начале каждого цикла событий просматриваются все запомненные таймеры и проверяется сколько прошло время и не пора ли ставить целевую функцию в очередь событий

Цитата:

Сообщение от voraa (Сообщение 528864)
Ну здесь не форум по С++

Я спросил о составе функции setTimeout/setInterval то как она написана, её корень. При чём тут С++? Если вы затрудняетесь с ответом, не нужно засорять тему.

voraa 15.09.2020 19:17

Ну пускай отвечают те, кто понимает, что такое состав и корень функции.

Rise 15.09.2020 19:25

Цитата:

Сообщение от Biotoxsin
При чём тут С++?

alert(setTimeout);

Так можно посмотреть тело пользовательской функции.
[native code] - значит что функция встроенная, это называется API.
Код браузера, как правило C++, посмотреть конкретную реализацию, например Chrome, можно здесь.

Biotoxsin 15.09.2020 20:16

Цитата:

Сообщение от Rise (Сообщение 528868)
alert(setTimeout);

Так можно посмотреть тело пользовательской функции.
[native code] - значит что функция встроенная, это называется API.
Код браузера, как правило C++, посмотреть конкретную реализацию, например Chrome, можно здесь.

Благодарю


Часовой пояс GMT +3, время: 18:44.