Я хочу знать, каково правильное соглашение об именах для каждого из методов.
Нет никаких соглашений об именах для функций (я бы назвал их только методы , если они непосредственно связаны с объектом), за исключением того, что имя - camelCase.Однако в функциональном программировании существует соглашение, что функции, которые возвращают что-то, являются pure (они ничего не меняют, а просто возвращают что-то новое, как ваша первая функция), а функции, которые ничего не возвращают, являются нечистыми, они что-то меняют.Если вы строго придерживаетесь того, что шаблон зависит от вашего стиля программирования, я следую этому часто, но не всегда.В JS также немного сложнее, поскольку JS не набирается.
также может кто-нибудь объяснить, как можно обновить исходное значение переменной внутри операции закрытой функции, как показано в примере 2?
Это невозможно.Если вы передаете число, оно передается как значение, и у вас нет возможности узнать, к чему принадлежит это число.Это хорошо, так как вы всегда можете отслеживать, какая функция может изменять объект.bar(foo)
есть, bar(foo.num)
нет.