Я использую jQuery, если он делает какие-либо
разница.
Нет, это не так. Смотрите мой ответ здесь: В чем разница между Javascript, Jquery и Ajax?
У меня есть класс, который полностью
объявлено в его конструкторе
В Javascript нет классов . Забудь их. Вам действительно нужно изучить некоторые основы этого языка, чтобы использовать их. Это не Java, хотя выглядит похоже.
Если у вас есть Функция конструктора , она создаст экземпляр. Общие методы будут находиться в цепочке прототипов , и только данные, специфичные для экземпляра, попадают прямо в функцию с помощью это ключевое слово .
Таким образом, базовая концепция объекта будет выглядеть так:
// constructor of an instance
function MyObject( param1, param2 ) {
this.param1 = param1;
this.param2 = param2;
this.param3 = 32;
return this; // [optional]
}
// Public methods can be called by any instance.
// Instances share their prototype object.
// The this keyword always points to the current
// instance that calls the method.
MyObject.prototype.sum = function() {
return this.param1 + this.param2 + this.param3;
}
// refresh should be a shared method, since it
// does the same thing on every instance
MyObject.prototype.refresh = function() {
// do the refresh
// ...
}
power этой концепции заключается в том, что в памяти имеется только одна функция обновления . И это может иметь дело с любым экземпляром. Кроме того, если другой объект наследует от MyObject, функция обновления будет унаследована . Но в памяти все еще будет одна общая функция обновления . И это может иметь дело с любым из родительских или дочерних экземпляров.