Я пытаюсь выяснить базовый шаблон для создания библиотеки JavaScript (класса).Я хочу сделать это таким образом, чтобы он не загрязнял глобальное пространство имен кучей мусора, но позволял классу иметь переменные экземпляра и публичные методы, которые изменяют эти переменные экземпляра.
Рассмотримследующий игрушечный пример.Я хочу сделать класс Foo
.Он должен содержать экземпляр экземпляра bar
, который является числом.Должен существовать конструктор для Foo
, который принимает число и инициализирует свой экземпляр bar
этим числом.Должен быть экземплярный метод, который я могу вызвать для объекта Foo
, чтобы изменить bar
.Может быть, код, который использует библиотеку, выглядит следующим образом:
var foo1 = new Foo(1);
var foo2 = new Foo(2);
console.log(foo1.bar); // should print "1"
console.log(foo2.bar); // should print "2"
foo2.changeBar(42);
console.log(foo1.bar); // should print "1"
console.log(foo2.bar); // should print "42"
Результирующий foo.js
будет использоваться веб-приложением и, следовательно, включен через тег script в HTML.
IЯ провел небольшой поиск в Google, но мне еще не удалось найти единого краткого общего описания того, как разрабатывать класс JavaScript (используемый в качестве библиотеки).