Показать сообщение отдельно
  #13 (permalink)  
Старый 25.06.2011, 00:11
Аватар для DNemo
Новичок на форуме
Отправить личное сообщение для DNemo Посмотреть профиль Найти все сообщения от DNemo
 
Регистрация: 24.06.2011
Сообщений: 4

Сообщение от Shock Посмотреть сообщение
Код, кстати, на удивление хорош. Конечно, есть некоторые ошибки, кое-где видны не очень хорошие знания JavaScript, но в общем - код на редкость качественный

Например:

this.setListener = function(type, listener) {

	switch (type) {
		case 'mouseover':
			this.mouseover.set(listener);
			break;

		case 'mouseout':
			this.mouseout.set(listener);
			break;

		case 'mousemove':
			this.mousemove.set(listener);
			break;

		case 'mousedown':
			this.mousedown.set(listener);
			break;

		case 'mouseup':
			this.mouseup.set(listener);
			break;

		case 'mouseclick':
			this.mouseclick.set(listener);
			break;
	}
}


Вполне можно заменить на:

this.setListener = function(type, listener) {

	if ( ['mouseover', 'mouseout', 'mousemove', 'mousedown', 'mouseup', 'mouseclick'].indexOf(type) === -1 ) return;

	this[type].set(listener);
}
Да, профессионально программированием занимаюсь менее года.

Сообщение от Shock Посмотреть сообщение
Да, тот самый =)
Охренеть

Сообщение от Shock Посмотреть сообщение
Судя по коду вы хорошо знаете другой язык. Например, Java
Действительно, изучать программирование я начал именно с Java

Сообщение от Shock Посмотреть сообщение
Ваша функция toArray имеет ряд недостатков. Как по скорости, так и по логике. Лучше использовать что-то типа такого:
var toArray = function(o) {
	return Array.prototype.slice.call(o);
}
С этой функцией вышла целая история, надо было просто посмотреть как она реализована в какой-нибудь популярной библиотеке.
Ответить с цитированием