Нет, HTML5 Canvas, как и SVG, использует при рисовании «модель художника» : чернила, которые вы кладете, сразу высыхают на холсте;последовательные вызовы отрисовки идут поверх результата.
Кроме того, HTML5 Canvas - в отличие от SVG или HTML - использует не сохраняемый (или немедленный) графический режим :никакие объекты не сохраняются в соответствии с исходными командами рисования после их выдачи.
Возможны следующие варианты:
Изменить ваш цикл или иным образом внедрить собственную систему наложения, котораяставит в очередь вызовы отрисовки, а затем выдает их в порядке снизу вверх.
Как подсказывает @Stoive, программно создайте отдельные (неотображаемые) элементы холста, отрисуйте их и затем скопируйтерезультаты возвращаются на ваш основной холст в нужном вам порядке.
Создание нескольких (отображаемых) холстов на странице и нанесение их слоями с использованием CSS с использованием каждого слоя как отдельного.
Последний вариант предоставляет вам наибольшую свободу, включая возможность в любой момент очистить / очистить только один из слоев или изменить порядок слоев без необходимости повторной компоновки.Вы сами.