The timer functions within Node.js implement a similar API as the timers API provided by Web Browsers but use a different internal implementation that is built around the Node.js Event Loop.
According to me, the timer functions in Node are implemented using the same type of abstraction that other asynchronous APIs are designed with, leveraging the register- poll / check - trigger mechanism that the event loop uses. The major difference is that instead of polling the OS, it detects the scheduled intervals with the help of an internal counter that the loop maintains. Otherwise, more or less the same abstractions - native bindings, request registration, triggering callbacks etc. remain more or less same.
Having said that, the scheduling (set..) and de-scheduling (clear..) semantics do not impose any difference at the API level, to the user - between browsers and node, so!