Я бы сказал, что лучше один раз использовать функцию-конструктор, в которой определить все методы для экземпляра соответствующего объекта - читается проще. Параметры лучше передавать в виде объекта-аргумента при инциализации экземпляра - так число передаваемых параметров можно задавать произвольно, при необходимости можно обрабатывать передаваемые параметры при инициализации и т.д.
Цитата:
|
Мне например не нравится что есть внешние переменные
вроде engravingText.currentX - нужно ли от них избалвяться?
|
Если считаете, что данная переменная должна быть недоступна для внешнего клиента - инкапсулируйте ее, при необходимости предоставив доступ к ней через заранее определенные методы (замыкания) типа engravingText.getCurrentCoords(), engravingText.setCurrentCoords(). В большинстве случаев такая инкапусляция считается хорошей практикой, например
http://jsfiddle.net/yykc6Lk9/