Код должен читаться как рассказ — сверху вниз. За каждой функцией должны следовать функции следующего уровня абстракции. Это позволяет читать код, последовательно спускаясь по уровням абстракции в ходе чтения списка функций.
Тоже нужно писать цикл для всех элементов в коллекции?
<body onLoad="self.print()">
. Ну или открывайте ее с параметром, а в логике страницы добавьте проверку наличия параметра, которая в нужных случаях запускала бы печать.