Функция - по определению - НЕ сохраняет значений внутренних переменных (из блока var - end_var), поэтому при каждом вызове эти переменные сначала инициализируются, а потом обрабатываются кодом.

ФБ - по определению - сохраняет значения всех внутренних переменных, поэтому инициализация выполняется один раз при создании экземпляра.