Артём Кан, математически это верно, на практике в JS есть свои подводные камни, как я вам показал на примере с isNaN, особенно с приведением типов, переполнением и т.д.
9007199254740991 + 2 === 9007199254740991 + 1
Для задачи, определить состоит ли строка из цифр, самое правильно использовать регулярное выражение. Приведение строки в число JS - отдельная история.
Количество листов контролировать будет сложновато, это нужно с драйвером общаться принтера, отдельная история. Хотя может быть для вашего принтера есть что-то готовое, вроде API, но вряд ли)
bankinobi, да понятно все, но зачем вам заморачиваться и выдумывать собственный формат, если вам нужно просто отделить один код от другого, используйте python. Просто вынесите парсинг в отдельную функцию.
laguna1132, Написано же, что второй аргумент setTimeout не время, а минимальное время. Т.е. сначала выполняются все предыдущие операции, а затем, по очереди, если их время подошло (минимальное), срабатывают все таймеры.
Т.е. цикл может обрабатываться сколько угодно долго, хоть час, и только затем начнуть выполняться таймеры по очереди.