См. Другие ответы, как более чистые способы организовать это. В этом ответе просто делается попытка обратиться к понятию "jQuerying разбиения this в конструкторе".
Функциональный объект (например, zoomin
) должен быть вызван с помощью new
, чтобы действовать как конструктор (конструкторы - просто функции, без * 1011 нет ничего особенного *). То есть, если zoomin
используется в качестве функции обратного вызова в jQuery, тогда this
будет конкретным (но произвольным) объектом, который, вероятно, не является новым экземпляром объекта. Это может создать иллюзию, что jQuery ломает конструктор; однако это не так, потому что конструктор не был вызван с new
и, таким образом, действует как «нормальная функция».
Если используется new fnObject
, то this
(внутри функции fnOjbect) будет всегда быть новым экземпляром "fnObject". Существует никак для jQuery, чтобы изменить это, даже если он действительно очень старался.
Кроме того, zoomin = new Object
бесполезен на 100%, потому что следующая строка просто присваивает новое значение (объект-функция конструктора) zoomin
: -)
Счастливого кодирования.