Можете ли вы изменить функцию Javascript после ее объявления? - PullRequest
57 голосов
/ 26 января 2010

Допустим, у меня есть var a = function() { return 1; }. Можно ли изменить a, чтобы a() вернул 2? Возможно, редактируя свойство объекта a, поскольку каждая функция является объектом ?

Обновление: Ух, спасибо за все ответы. Тем не менее, я боюсь, что я не хотел просто переназначить переменную, а на самом деле редактировать существующую функцию. Я думаю о том, как можно объединить частичные функции в Scala для создания нового PartialFunction. Я заинтересован в написании чего-то подобного в Javascript и думал, что существующая функция может быть обновлена, а не создан совершенно новый объект Function.

Ответы [ 13 ]

0 голосов
/ 26 января 2010

Если вы отлаживаете javascript и хотите увидеть, как изменения в коде влияют на страницу, вы можете использовать это расширение Firefox для просмотра / изменения javascripts:

Выполнить расширение JS Firefox: https://addons.mozilla.org/en-US/firefox/addon/1729

0 голосов
/ 26 января 2010

Не могли бы вы просто определить это позже? Если вы хотите изменить, попробуйте просто переопределить его как:

a = function() { return 2; }
0 голосов
/ 26 января 2010

Абсолютно. Просто назначьте ему новую функцию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...