В первой итерации будет flase, условие не выполняется и переменная не изменяется
Во второй будет true и переменная меняет значение на large
В третей итерации условие false, а во второй же итерации, переменная изменила значение
и почему же в третей итерации выводится изначально значение?
http://plnkr.co/edit/Q1fcLHfd2Z2iIdr9x2tN?p=preview