JavaScript возвращает переменную из функции - PullRequest
0 голосов
/ 17 декабря 2018

Я не программист javascript, но я пытаюсь взломать улучшение существующей работающей программы.

В C распространенная ошибка - определить переменную внутри функции, а затем вернуть ее.Конечно, переменная исчезает из стека при выходе из функции.

В функциях javascript я не хочу присваивать переменную без переменной, поскольку это дает ей глобальную область видимости.Поэтому я говорю, что var foo = кое-что; затем в конце функции возвращает foo.

Кажется, это работает.Это работает или гарантированно работает?Это тот случай, когда javascript является сборщиком мусора, на переменную теперь указывает область вызова, которая сохраняет ее?

Я спросил у Google, но либо я не ищу в нужном месте,ответ слишком сложен для меня, чтобы найти его, или ответ настолько тривиален, что даже не упоминается.

Мне приходит в голову, что я могу вернуть выражение, избегая вообще называть его.Это более разумно?

1 Ответ

0 голосов
/ 17 декабря 2018

Как и в C, переменная может быть Value type или Pointer type, но в javascript все имеют значение Reference type, аналогично Pointer type.

в вашем коде, var только ограничение foo, чтобы быть видимым только в области действия содержащей функции.something - это объект, связанный с foo.но объект также может быть связан с любой другой переменной.

...