Чем плох этот код ? Ниже написал код, который при клике на внутренний скрывает родительский элемент. Вопрос : это один из паттернов JS или нет ?Lorem ipsum dolor sit amet, consectetur adipisicing elit. Fuga non sit ratione atque minus voluptates tempora aliquid aut perspiciatis impedit harum id et sed molestiae ad asperiores iusto nobis alias. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptatem odit molestias velit consectetur molestiae. Minima obcaecati similique odio incidunt recusandae consequuntur ipsam provident inventore nesciunt numquam dignissimos nihil harum eveniet.function closeElem (elem, parent) { var obj = { otps : { elem : elem, parent: parent }, init: function () { $(elem).on('click', function () { $(this).closest(parent).hide(); }); } }; obj.init(); return obj; } var closediv = closeElem('.inner', '#first'); var closediv = closeElem('.inner2', '#second');
Не определяется, что такое $(elem) и $(parent). Вероятно, это методы из библиотеки jQuery. Если вы используете jQuery, необходимо убедиться, что библиотека загружена перед выполнением этого кода.
Переменная closediv переопределяется дважды в конце. Это приведет к тому, что второй вызов функции closeElem затрет первый.
Переменная obj не используется нигде кроме как для инициализации метода init(). Это излишне и можно было бы просто вызвать obj.init() без создания дополнительного объекта.
Этот код можно рассматривать как паттерн JavaScript, но скорее всего это просто обработчик события для скрытия элемента при клике на другой элемент. Не совсем ясно, какой конкретный паттерн здесь используется.
Нет обработки ситуации, когда элемент уже скрыт или не существует. Возможно, стоит добавить проверки на существование элемента перед его скрытием.
Этот код имеет несколько проблем:
Не определяется, что такое $(elem) и $(parent). Вероятно, это методы из библиотеки jQuery. Если вы используете jQuery, необходимо убедиться, что библиотека загружена перед выполнением этого кода.
Переменная closediv переопределяется дважды в конце. Это приведет к тому, что второй вызов функции closeElem затрет первый.
Переменная obj не используется нигде кроме как для инициализации метода init(). Это излишне и можно было бы просто вызвать obj.init() без создания дополнительного объекта.
Этот код можно рассматривать как паттерн JavaScript, но скорее всего это просто обработчик события для скрытия элемента при клике на другой элемент. Не совсем ясно, какой конкретный паттерн здесь используется.
Нет обработки ситуации, когда элемент уже скрыт или не существует. Возможно, стоит добавить проверки на существование элемента перед его скрытием.