Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Вопрос по ООП (https://javascript.ru/forum/misc/36841-vopros-po-oop.html)

prison47 29.03.2013 05:18

Вопрос по ООП
 
Здравствуйте пожалуйста объясните новичку, для чего создавать метод через prototype вот так:
function Slider(direction){
		this.direction = direction;
	};

	Slider.prototype.move = function(){
		console.log('moving '+this.direction);
	};

	var slider = new Slider('forward');
	slider.move();
	var slider2 = new Slider('backward');
	slider2.move();

Если можно создать метод в конструкторе и получится тот-же результат:
function Slider(direction){
		this.direction = direction;
		this.move = function(){
		console.log('moving '+this.direction);
		 };
	};

	var slider = new Slider('forward');
	slider.move();

	var slider2 = new Slider('backward');
	slider2.move();

Octane 29.03.2013 08:53

В конструкторе вы каждый раз создаете новую функцию для каждого объекта, соответственно расходуется больше памяти, чем в случае с использованием прототипа, где используется одна и таже функция для всех объектов с таким прототипом.

prison47 29.03.2013 19:42

Понятно.Спасибо большое.


Часовой пояс GMT +3, время: 00:31.