Я должен признать, что шаблоны не моя «вещь» - но вы можете делать именно то, что вы хотите в JavaScript.Это то, как все фреймворки выполняют такие вещи, "расширяя" дочерние "классы" (в javascript нет классов).
Если вы находитесь в мире чистого javascript, вы хотите использовать:
foo.prototype.bar = function() {};
Таким образом, вы можете вызвать bar
для любого foo
, и bar
существует в памяти только один раз - то есть одна и та же функция упоминается в памяти через каждый объект foo
.Поэтому будьте осторожны с любыми переменными, на которые вы можете ссылаться за пределами этой области.
Каждая библиотека имеет свою собственную архитектуру плагинов для достижения примерно той же цели (и они заботятся о некоторых беспорядках / опасностях в прототипе)