Объявлять метод внутри конструктора - плохая практика.
function Car() { //... } Car.prototype.honk = function() { console.log('Би-бип'); }; var myCars = []; for (var i = 0; i < 10; i++) { myCars.push(new Car); } myCars.forEach(function(car) { car.honk(); }); |
Цитата:
Когда то писали что стили надо в header только подключать Теперь фреймворки их налету подгружают динамически Если есть возможность расширить стандартный прототип и это не отразится в дальнейшем, то все ваши стереотипы в задницу И не надо говорить, что это вчерашний день, про решения которые работают и успешно справляются с своими задачами |
Цитата:
Цитата:
Прототип стандартного объекта - это глобальная область, такая же как window. Думаю, не надо объяснять, почему не следует раскидывать по глобальной области своё барахлишко. К тому же с каждым новым стандартом es в этих прототипах куча всего добавляется. |
Цитата:
Цитата:
И если говнокодите, то разницы нет с глобал или без С ним также стоит уметь работать для этого есть и модули и неймспейсы которые экспортируют в него же. Небольшой пример с forEach, 2 строки :lol: <div></div> <div></div> <div></div> <script> HTMLCollection.prototype.forEach = NodeList.prototype.forEach = Array.prototype.forEach; document.querySelectorAll('div').forEach((el, i) => el.insertAdjacentHTML('afterbegin', ++i)); </script> |
Цитата:
Цитата:
В следующий раз, замышляя потрясти оппонента эффектным примером, извольте для начала в справочник заглянуть. :) А то ведь может оказаться, что метод с таким названием в прототипе уже есть, только работает чуть по другому ) |
Цитата:
https://developer.mozilla.org/en-US/...deList/forEach Цитата:
Цитата:
|
Не вижу ничего плохого в расширении прототипов. Сам так делаю и не парюсь, зато удобно. А если опасаетесь, что в будущем могут быть какие-то проблемы из-за того, что названия новых методов будут совпадать с вашими, то никто Вам не мешает называть свои методы с каким-нибудь префиксом (типа $forEach, _forEach, flyForEach), так как вряд ли методы нативной реализации будут с подобными префиксами.
|
Часовой пояс GMT +3, время: 08:36. |