Pull to refresh
1

User

Send message

Интересно, каким же образом они со мной не согласятся?

Во-первых, речь шла о переменных, а не о функциях, у функций отличается цикл жизни.

Во-вторых, Функции анонимными называются, потому что при их объявлении им не присваивается имя в явном виде, а чтобы их вызвать - нужно знать область памяти, в которой они располагаются... то есть знать их имя.
Они либо вызываются сразу (автоматика сама всё сделает за Вас и, по сути, это не отличается от помещения части кода во вложенные {}), либо для позднего использования вручную именовать их, присваивая их адреса в памяти к ссылочным переменным.
IIFE - это как раз первый случай, где именование функции происходит автоматически движком JS с последующим исполнением на месте.
В языках с сборщиком мусора в рантайме вообще ничего неименованного нет, иначе сборщик мусора не смог бы исполнять свою работу.

Если у вас функция вызывается рекурсивно 10 раз, её локальная переменная одна или их 10?

10, если нет передачи указателей/ссылок.

А если два имени ссылаются на одну ячейку памяти?

Два указателя ссылаются на один сегмент памяти. Вроде, обычная вещь.

А может ли быть переменная без имени?

А это называется утечка памяти.

Надеюсь, тест прошёл)

Вообще, всегда думал, что отсутствие явного использования ссылок и указателей идёт рука об руку с отсутствием явной типизации (прескорбно, но второе не гарантирует первого), а тут такое исключение из правил. Будем знать.

Information

Rating
Does not participate
Registered
Activity