Я уже некоторое время бьюсь над вопросом Javascript, и мне не удалось найти объяснения в Интернете.Я думаю, это потому, что я не ввожу правильные ключевые слова, которые также могут быть связаны с тем, почему я вообще с этим борюсь.
Мое основное предположение состоит в том, что можно изменять объекты:
> var x = {'n': 2};
> x['n']
2
> x['n'] = 3;
3
Pheww, который работал.Но все же (функции тоже объекты):
> var addn = function(a) {
var n = 2;
return n + a;
}
> addn(3);
5
> addn['n'] = 3;
3
> addn(3);
5
На этот раз я не смог изменить 'n'.Есть ли способ исправить это, сохранив функциональный вкус?В отличие от того, чтобы идти полностью ОО.Смежный вопрос, который у меня есть, заключается в том, как сохранить зависимости функций с целью, например, тестирования - опять же без OO?Конечно, я ищу решение, но, если возможно, я также хотел бы понять, какой механизм в Javascript заставляет меня бороться.
Cheers,
Mark
Отказ от ответственности: упоминаниемОО Я не собираюсь ничего говорить против ОО.И я не собираюсь ничего говорить против VI или Emacs.Если я как-то обидел ваши чувства, пожалуйста, пропустите это.