Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.05.2020, 19:24
Интересующийся
Отправить личное сообщение для IgorFomenko Посмотреть профиль Найти все сообщения от IgorFomenko
 
Регистрация: 07.05.2020
Сообщений: 19

Переопределение метода модуля
Здравствуйте, читаю в книге про переопределение метода модуля
geoModule = (function(me) {
var oldCalculateCircleArea = me.calculateCircleArea; 
me.calculateCircleArea = function(radius) {
return oldCalculateCircleArea(radius).toFixed(2);
};
return me;
})(geoModule);

возникает вопрос, зачем оборачивать все это в IIFE, если можно сделать просто
geoModule.calculateCircleArea = function(radius) {
return geoModule.calculateCircleArea (radius).toFixed(2);

или автор просто привел наиболее общий подход, позволяющий и при переопределении обеспечить приватность некоторых переменных?
Ответить с цитированием
  #2 (permalink)  
Старый 10.05.2020, 19:48
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

Сообщение от IgorFomenko
если можно сделать просто
Так будет бесконечная рекурсия.
Ответить с цитированием
  #3 (permalink)  
Старый 10.05.2020, 19:51
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,726

Сообщение от IgorFomenko
если можно сделать просто
Попробуйте так сделать. Не проверял, но думаю, что будет переполнение стека вызовов.

В IIFE автор оборачивает свой код для того, чтобы либо изолировать свой код от всего остального, либо чтобы не мусорить в глобальной области видимости.
Ответить с цитированием
  #4 (permalink)  
Старый 10.05.2020, 20:53
Интересующийся
Отправить личное сообщение для IgorFomenko Посмотреть профиль Найти все сообщения от IgorFomenko
 
Регистрация: 07.05.2020
Сообщений: 19

Да, спасибо, переполнение есть, поэтому вводится промежуточная переменная, а потом, чтобы не мусорить в Global все это оборачивается в IIFE. Спасибо, должен был сам догадаться, но неудачно поставил эксперимент.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Прототипное наследование, переопределение метода родителя victornalchik Элементы интерфейса 3 17.05.2018 01:45
вызов метода объявленного через prototype из другого метода (того же объекта) Герасим Общие вопросы Javascript 4 12.02.2018 14:43
Переопределение метода внутри iframe Илья Колдунов Events/DOM/Window 0 21.04.2017 21:50
Динамическая загрузка модуля + расширение функционала главного модуля Aries Angular.js 1 13.11.2013 21:11
Переопределение метода базового класса walash jQuery 18 15.07.2009 17:05